Google服务帐户权限被拒绝gmail pub / sub Golang

时间:2016-11-10 21:07:28

标签: go push-notification google-api gmail-api watch

尝试创建一个更新我的域电子邮件中链接的应用程序。我的服务帐户元素正常运行,可以在Google Apps上检索我域中的所有电子邮件帐户。

所以用

  config, err := google.JWTConfigFromJSON(data, 
    "https://www.googleapis.com/auth/admin.directory.user",
    "https://www.googleapis.com/auth/gmail.readonly")

我创建了一个新的管理对象,srv.Users.List()为我提供了用户。

我现在想在每个帐户上启动watch,以便Gmail可以将电子邮件发送到我的应用。

为此,我需要一个访问令牌,并模拟我想要开始观看的帐户的电子邮件地址。

   ctx := context.Background()
    tokenSource := config.TokenSource(ctx)
    token, err := tokenSource.Token()

其中config之前来自JWTConfigFromJSON

尝试发出watch请求,但收到错误googleapi: Error 403: Insufficient Permission, insufficientPermissions

第一个问题:我不确定我是否可以获得这样的令牌,我是否需要单独的oAuth配置然后使用它来获取令牌? (这肯定需要用户互动)。

第二个问题:我怀疑我没有在代码或服务帐户中设置正确的权限,但我不确定它们应该是什么

上一期:在JWTConfigFromJSON调用中,当我删除gmail范围时,它成功获取了一个令牌。当我把它放回去时,我得到"Unauthorized client or scope in request."

任何帮助非常感谢! 感谢

0 个答案:

没有答案