我正在根据此页面上的Google Analytics分步指南创建一个脚本:
https://developers.google.com/analytics/resources/tutorials/hello-analytics-api
授权完成没有问题,直到它尝试访问数据 . 返回码为403,错误消息为:
用户没有任何Google Analytics帐户
这条消息毫无意义:我的帐户有谷歌分析数据,跟踪多个网站,我可以从网络浏览器访问它没有问题 . 我通过Google API控制台允许使用Analytics API,API访问权限为我提供了正确的数据 .
11 回答
问题发生在我们不提供“sub”参数 . 除非我们提供此服务,否则将代表该长服务帐户电子邮件进行呼叫 .
所以只需提供一个sub参数您已在报告中访问过的电子邮件,应该可以正常运行!
我也有这个问题 . 我通过将我的服务帐户的电子邮件地址添加到我希望其访问的Google Analytics配置文件来修复此问题 .
我通过查看Google API控制台中的“API访问”标签获得了服务帐户的电子邮件地址(类似于1234567890@developer.gserviceaccount.com) .
然后,我跟着Google's instructions for adding an email address to an Analytics profile . 现在一切都按预期工作了 .
祝好运!
只需添加给定的电子邮件(格式为
71667655853644-o653rrdkq5hthsgo0otbpojoo@developer.gserviceaccount.com
)给用户经理:
希望它能帮到你
在上面的评论中提到了,但如果您在帐户的用户管理下添加电子邮件地址,则无法使用 . 您必须单击屏幕视图部分下的用户管理 .
我面临同样的问题 . 通过将服务帐户用户(您的account@yourwebsite-dev.iam.gserviceaccount.com)的电子邮件ID添加到您的Google Analytics帐户中的用户,解决了以下问题 .
分析 - 主页 - >管理员(左窗格) - >用户管理 - >添加(单击菜单右侧的加号) - >添加新用户 - >在输入电子邮件地址中添加电子邮件ID .
现在,这将解决问题 .
如果您从未使用您尝试进行身份验证的Google帐户登录,也会收到此错误 .
我收到了403错误,直到我将Google Analytics内部的电子邮件帐户权限从“读取和分析”更改为其他内容,将其保存,然后将权限更改回“读取和分析”并且确实有效 .
我遇到了403错误 . 这些步骤让我了解它 . 为了清楚起见,我试图让Google的样本“HelloAnalytics.php”与OAuth一起工作(没有用户交互,适合cron作业等) .
启用Analytics API后,我在API和Auth / Credentials下创建了一个新的“服务帐户”;并保存了.p12密钥对 . 然后我进入了Analytics用户管理控制台,并添加了该服务用户的电子邮件地址 .
如果我仅在权限列表中仅检查"Read & Analyze",则使用PHP API的.p12授权有效 . 如果我添加"Manage Users"和/或"Edit",我会得到403.希望这是有帮助的,我在研究这个问题几个小时......
您尝试使用该API的用户尚未启用其GA服务 .
Simply having a google account is not enough .
我也有这个问题,我发现问题是我要求太多权限 . 开发者控制台说要求
http://www.googleapis.com/auth/analytics
和http://www.googleapis.com/auth/analytics.readonly
权限 . 当我还在使用sub
声明时,这不起作用 .sub
声明指示Google发出代表其他用户操作的访问令牌 - 在我看来是拥有该服务帐户的Google帐户 . 我删除了analytics
权限,并坚持使用analytics.readonly
与子索赔:颁发的持票人令牌允许我对完全不同的Google帐户拥有但已与我的Gmail用户共享(只读)的配置文件(至少部分)进行Google Analytics查询(me.example@gmail.com) .
我设法通过确保这个来解决这个问题
client = Google :: APIClient.new(:application_name =>'X',:application_version =>'1')
应用程序名称变量'X above是GA仪表板上的ACCOUNT名称,而不是PROPERTY名称,在我的情况下是我想要访问的网站的实际网址 .
令人困惑,但谢天谢地(不,谢谢谷歌!)