Cloud 主题已在云发布/订阅上创建,但无法在该主题上创建监视

Cloud 主题已在云发布/订阅上创建,但无法在该主题上创建监视,cloud,gmail-api,google-cloud-platform,google-cloud-pubsub,Cloud,Gmail Api,Google Cloud Platform,Google Cloud Pubsub,我想在云上创建watch发布/子主题,但无法创建它。为此,我使用rest请求 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.c

我想在云上创建watch发布/子主题,但无法创建它。为此,我使用rest请求

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){

});
但是我收到了错误消息
向云发送测试消息时出错

PubSub/projects/projectd/topics/topicd:Resource not found Resource=TopicId

谷歌云PubSub主题必须存在于同一个谷歌控制台项目中,该项目用于验证用户。在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主题的权限,则不会创建监视请求。尝试设置权限。

确保已创建主题,并确保已正确设置主题的IAMPolicy。不要按照其他答案的建议在其上使用API资源管理器。按照指南中的说明进行云发布/订阅调用(使用您自己的服务帐户客户端):

该主题是否存在?看起来好像作用域问题试图添加Hi-gcbirzan,是的,该主题存在。我已经检查过了。嗨,劳尔·马汀,我添加了“”,'',请求中的这些作用域仍然存在相同的错误。嗨,富汉·沙比尔,我尚未设置授予访问策略。我正在尝试此post请求,但出现错误,因为在此服务器上找不到请求的URL/v1beta2/%7Bresource=projects/projectd/topics/TopicId%7D:setIamPolicy。这就是我们所知道的。我的rest请求是:url:“{resource=projects/myproject/topics/mytopic}:setIamPolicy”,标题:{'content-type':'application/json','Authorization':'Bearer'+iObj.credentials.access_-token,},body:json.stringify({“policy”:{“bindings”:[{“角色”:“角色/pubsub.publisher”,“成员”:[“服务帐户:gmail api-push@system.gserviceaccount.com"], }], } })@AnuPandit请求应发送至感谢我已成功创建了watch on cloud主题。但我将如何获得邮件通知?例如:在这方面,我正在拉订阅请求。但在“/mychannel”上我没有收到通知。关于我将获得的通知,不建议使用watch拉,因为这会破坏watch re的用途但是,如果您仍然想从pubsub获取消息,请首先创建一个订阅,订阅您使用pubsub API或Google开发者控制台创建的主题。您需要一个服务帐户凭据才能在创建主题时使用的同一个Google控制台项目下完成此操作。嗨,Eric DeFriez,我在sett时遇到错误ing policy。该请求中缺少任何内容。调用setIamPolicy时出现的错误是什么?我可以问一下这是如何解决的吗?最后的setIamPolicy调用是什么样子的?它是否链接到包含权限的.json文件,还是都在同一个文件中?