向 Gmail 添加邮箱过滤器

Adding a mailbox filter to Gmail

我正在尝试向 Gmail 添加一个简单的邮箱过滤器,但收到错误 400。响应文本显示“过滤器没有任何标准”,但我当然相信我有。这是有效载荷数据:

{
"filter": [{
"id": "ABC12345-2",
"criteria": {
"from": "donald trump"
},
"action": {
"addLabelIds":  ["TRASH"]
}
}]
}

这是我要发帖的URL:

https://gmail.googleapis.com/gmail/v1/users/{userId}/settings/filters

认证没有问题。我已经尝试过使用和不使用“id”字段。关于我做错了什么的想法?

我不确定您的实际脚本。所以我不确定 {"filter": []} 的要求。但是当我看到 the official document 时,似乎 POST https://gmail.googleapis.com/gmail/v1/users/{userId}/settings/filters 端点的示例请求正文如下,当使用您的请求正文时。

示例请求正文:

{
  "id": "###",
  "criteria": {"from": "###"},
  "action": {"addLabelIds": ["TRASH"]}
}
  • id: string, The server assigned ID of the filter.
  • criteria: object (Criteria), Matching criteria for the filter.
  • action: object (Action), Action that the filter performs.
  • 在这种情况下,即使不使用id,也不会发生错误。
  • 您也可以在 "Try this API" 进行上述测试。

参考文献: