【问题标题】:Adding a mailbox filter to Gmail向 Gmail 添加邮箱过滤器
【发布时间】:2020-10-02 00:31:05
【问题描述】:

我正在尝试向 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”字段。关于我做错了什么有什么想法吗?

【问题讨论】:

    标签: gmail gmail-api


    【解决方案1】:

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

    示例请求正文:

    {
      "id": "###",
      "criteria": {"from": "###"},
      "action": {"addLabelIds": ["TRASH"]}
    }
    
    • id: 字符串,服务器分配的过滤器ID。
    • criteria:对象 (Criteria),过滤器的匹配条件。
    • action:对象 (Action),过滤器执行的操作。
    • 在这种情况下,即使不使用id,也不会发生错误。
    • 您也可以通过"Try this API" 进行上述测试。

    参考资料:

    【讨论】:

    • 使用 "filter": [] 编码我只是想模拟当我检索在 Gmail UI 中创建的现有过滤器时 Gmail 输出的 json。这种格式允许在一次调用中检索多个过滤器。显然,Gmail 不允许在导入时使用相同的编码。我能够通过每次调用一个过滤器来让它工作。感谢您的帮助。
    • @Jeff McKay 感谢您的回复和添加信息。我很高兴你的问题得到了解决。也谢谢你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 2016-05-24
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多