适用于不同API的Google OAuth访问令牌

时间:2018-08-30 10:06:08

标签: google-api google-oauth google-oauth2 google-oauth-java-client

我正在尝试访问Reports API。并为此在Java(GitHub project)上创建了源代码。

我可以获得访问令牌,但是如果我将其用于Reports API,Google总是会向我返回“访问被拒绝。您无权读取活动记录”错误。

我尝试使用此访问令牌从Drive API接收信息,并且它可以正常工作。因此,访问令牌对Drive API有效,对Reports API无效。

在此页面上我找到了此信息-Using OAuth 2.0 to Access Google APIs

  

访问令牌仅对一组操作和资源有效   在令牌请求的范围内进行描述。例如,如果访问   令牌是针对Google+ API发出的,它不授予对   Google通讯录API。但是,您可以将该访问令牌发送到   多次使用Google+ API进行类似操作。

所以我不能对所有API使用一个访问令牌吗?如果可以,如何获取Reports API的访问令牌?

我正在使用服务帐户JSON生成访问令牌。

谢谢您的帮助! 亚历山大。

1 个答案:

答案 0 :(得分:0)

  

所以我不能对所有API使用一个访问令牌吗?

在对用户进行身份验证时,您需要一些作用域,这会告诉用户您需要访问哪些api和数据。每个范围有很多Scopes,可让您访问不同的数据。

  

如果是的话,如何获得Reports API的访问令牌?

您在身份验证代码中包含该api的范围。很难知道您正在谈论哪个报告api

还有Google Analytics(分析)报告API和YouTube分析报告。知道需要包含什么范围的最简单方法是检查文档页面中所使用的方法,它们将始终包括一个auth部分,告诉您要使用哪个范围。