Gmail API Watch() 不工作

Gmail API Watch() not working

我正在关注 https://developers.google.com/gmail/api/guides/push 上提供的 Gmail API 推送通知指南。但是,当我尝试从 API 资源管理器创建新手表时,它会给出以下响应:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalidArgument",
    "message": "Invalid topicName does not match projects/google.com:apisexplorerconsole/topics/*"
   }
  ],
  "code": 400,
  "message": "Invalid topicName does not match projects/google.com:apisexplorerconsole/topics/*"
 }

}

我的要求如下:

POST https://www.googleapis.com/gmail/v1/users/myemailaddress/watch?key={YOUR_API_KEY}
{
 "labelIds": [
  "INBOX"
 ],
 "topicName": "projects/my-project-name/topics/my-topic-name"
}

似乎在 Google API 结束时进行了错误的验证检查。还有其他人遇到这个问题吗?

您不能使用 APIs Explorer 进行该调用,您需要直接进行调用(使用您的客户端,而不是 APIs Explorer)才能根据指南正确验证它: https://developers.google.com/gmail/api/guides/push#gmail_watch

如果未完成该检查,理论上您可以使用 API 资源管理器向任何其他开发人员的 Cloud Pub/Sub 主题随机发送通知。