主题是在云 pub/sub 上创建的,但无法创建关于该主题的监视

Topic is created on cloud pub/sub but unable to create watch on that topic

我想创建 watch on cloud pub/sub 主题但无法创建。为此,我正在使用其余请求

request_Req.post({

url:'https://www.googleapis.com/gmail/v1/users/me/watch',
headers:{
   'content-type': 'application/json',
   'Authorization': 'Bearer '+ access_token,
},
scope : [
    'https://mail.google.com/'
],

'body': JSON.stringify({
    'topicName' : "/projects/ProjectId/topics/TopicId",
    'labelIds' : ["INBOX"] 
});
}),function(error, resp, body){

});

但我收到错误消息 Error sending test message to Cloud PubSub/projects/ProjectID/topics/TopicId : Resource not found resource=TopicId

Google Cloud Pubsub 主题必须存在于同一个 Google 控制台项目中,该项目用于对用户进行身份验证。在 Google 控制台中检查 /projects/ProjectId/topics/TopicId 项目并确保 Pubsub 主题存在。此外,您必须授予对 Gmail 服务的访问权限,才能通过以下请求将消息发布到您的 Pubsub 主题:

POST "https://pubsub.googleapis.com/v1beta2/{resource=/projects/**ProjectId**/topics/**TopicId**}:setIamPolicy"
Content-type: application/json

{
  "policy": {
    "bindings": [{
      "role": "roles/pubsub.publisher",
      "members": ["serviceAccount:gmail-api-push@system.gserviceaccount.com"],
    }],
  }
}

如果未授予 gmail 将消息发布到 Pubsub 主题的权限,则不会创建监视请求。尝试 API explorer 设置权限。

确保主题已创建,并确保您已正确设置主题。不要按照其他答案的建议在其上使用 API 资源管理器。按照指南中的说明执行那些 Cloud Pub/SUb 调用(使用您自己的服务帐户客户端): https://developers.google.com/gmail/api/guides/push