【发布时间】:2014-11-25 22:28:09
【问题描述】:
在检索出现此错误的邮件时,一个域的 Gmail API 失败:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 OK
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Delegation denied for <user email>",
"reason" : "forbidden"
} ],
"message" : "Delegation denied for <user email>"
}
我正在使用 OAuth 2.0 和 Google Apps 域范围授权来访问用户数据。域已授予应用程序的数据访问权限。
【问题讨论】:
-
我们也开始出现此错误。迄今为止没有任何问题。如果我们使用 IMAP 一切都很好 - 看起来 Gmail API 有一些问题。谷歌帮助??
-
这之前是否有效或刚刚中断?如果它刚刚坏了,你能给出它坏的时间吗?如果它从未起作用,您能否确认它是一个服务帐户,在 Cpanel 中列入白名单并提供有关域范围设置的更多详细信息?您正在使用类似:developers.google.com/accounts/docs/… 我想?
-
您还可以发布您在请求中为“userId”字段使用的值吗?是“我”,应该与身份验证令牌匹配的用户电子邮件地址还是其他?
-
只有当您使用不同于授权用户的 userId 参数时才会出现该错误。不支持这种委托方式。正确的方法是在获取访问令牌时冒充用户并坚持使用'me'作为userId。
-
只需在调用 Gmail API 时使用:userId="me"。对于具有域范围委派的服务帐户,您指定电子邮件地址的唯一时间是在请求访问令牌时用于“sub”参数。
标签: oauth-2.0 google-oauth gmail-api google-api-php-client