GMAIL API - 它是否支持使用服务帐户和单个访问令牌

时间:2015-06-19 09:51:15

标签: gmail-api google-oauth2

GMail API支持服务帐户吗?

我已尝试使用服务帐户来获取访问令牌,但是在使用该访问令牌时,我收到“失败的前置条件”错误。

在搜索时,我发现此错误是因为服务帐户没有gmail邮箱,所以我应该在域中使用JWT中的“sub”字段。

但是,在使用子字段并授权Gmail范围的服务帐户时,我没有获得访问令牌。它说“无效的授权,错误的请求”

任何帮助都将不胜感激。

更新:我在使用子字段并使用令牌发出请求时设法获取令牌。

但是,我不能使用一个令牌来访问所有用户的数据。委托域范围访问对我来说意味着我可以获得一个令牌并访问所有用户数据。

目前,我需要使用服务帐户和子字段中的每个用户来获取每个用户的访问权限

1 个答案:

答案 0 :(得分:1)

在为其他用户调用Gmail API之前,您只需为要访问的每个用户使用sub =进行单次auth调用即可获取令牌。这就是oauth2域范围授权的工作原理: https://developers.google.com/identity/protocols/OAuth2ServiceAccount

"一个令牌可以访问域中的所有用户"是一种可怕的安全措施,大多数Google API正在逐步淘汰(想象一下,如果该令牌遭到网络钓鱼!)。