为了访问实时报告api,我使用了authSample.html文件,该文件使用OAuth2.0API进行授权和client_id请求。
但是,谷歌实时报告api表示
“您的应用程序必须使用Google2.0来授权请求。不支持其他授权协议。如果您的应用程序使用OAuth登录,则会为您处理授权的某些方面。”
谷歌登录部分是什么意思?
我的应用程序已经有了谷歌登录设置,所以这是否意味着我不能使用auth.html文件和Oauth2.0凭据?
我已经用谷歌搜索了,但没有找到任何令人满意的答案。
发布于 2017-05-12 05:09:20
我不确定你使用的是什么技术,但这是一个很好的参考:
https://developers.google.com/api-client-library/
如下所示:
https://github.com/google/google-api-javascript-client/blob/master/samples/authSample.html
可能是您将两个或更多样本复制到同一文件中,并且它们相互竞争,或者访问报告的人员没有权限。
https://developers.google.com/analytics/devguides/reporting/realtime/v3/authorization
从上面的页面:
Troubleshooting
在以下情况下,您的授权将失败:
如果你的access_token已经过期或者你使用了错误的作用域,你会得到一个401状态码。如果授权用户没有访问视图(配置文件)的权限,您将获得403状态代码。确保您使用正确的用户进行授权,并且他们确实拥有您选择的视图(配置文件)。OAuth 2.0游乐场
此工具允许您通过web界面完成整个授权流程。该工具还显示进行授权查询所需的所有HTTP请求头。如果您不能获得在您自己的应用程序中工作的授权,您应该尝试让它在OAuth 2.0游乐场中工作。然后,您可以将来自游乐场的HTTP标头和请求与您的应用程序发送到Google Analytics的内容进行比较。此检查是确保正确格式化请求的一种简单方法。
无效的授权
当您尝试使用刷新令牌时,以下代码将返回invalid_grant错误:
您的服务器时钟与网络时间协议NTP不同步。已超过刷新令牌限制。应用程序可以请求多个刷新令牌来访问单个Google Analytics帐户。
例如,如果用户想要在多台机器上安装一个应用程序并访问同一个Google Analytics帐户,那么每台机器都需要一个单独的令牌。当刷新令牌数量超过限制时,旧令牌将失效。如果应用程序尝试使用无效的刷新令牌,则会返回invalid_grant错误响应。
每对唯一的OAuth 2.0客户端和谷歌分析帐户的上限是25个刷新令牌。如果应用程序继续为同一客户端/帐户对请求刷新令牌,则在颁发第26个令牌后,先前颁发的第1个刷新令牌将变为无效。第27个请求的刷新令牌将使先前发出的第二个令牌无效,依此类推。
注意: 25个刷新令牌的限制可能会更改。
示例:https://developers.google.com/analytics/devguides/reporting/realtime/v3/libraries
在过去,当我构建这些报告时,我已经了解到,您不能依赖样本作为工作代码,因为环境可能并将发生变化,因此您需要回显/打印错误代码来查看实际错误是什么。如果您可以发布特定的web/服务器错误,我们可以从那里开始进行故障排除。
我希望所有这些都能有所帮助。
https://stackoverflow.com/questions/43924827
复制相似问题