首页 文章

分析Google API错误403:“用户没有任何Google Analytics帐户”

提问于
浏览
124

我正在根据此页面上的Google Analytics分步指南创建一个脚本:

https://developers.google.com/analytics/resources/tutorials/hello-analytics-api

授权完成没有问题,直到它尝试访问数据 . 返回码为403,错误消息为:

用户没有任何Google Analytics帐户

这条消息毫无意义:我的帐户有谷歌分析数据,跟踪多个网站,我可以从网络浏览器访问它没有问题 . 我通过Google API控制台允许使用Analytics API,API访问权限为我提供了正确的数据 .

11 回答

  • 0

    问题发生在我们不提供“sub”参数 . 除非我们提供此服务,否则将代表该长服务帐户电子邮件进行呼叫 .

    所以只需提供一个sub参数您已在报告中访问过的电子邮件,应该可以正常运行!

  • 67

    我也有这个问题 . 我通过将我的服务帐户的电子邮件地址添加到我希望其访问的Google Analytics配置文件来修复此问题 .

    我通过查看Google API控制台中的“API访问”标签获得了服务帐户的电子邮件地址(类似于1234567890@developer.gserviceaccount.com) .

    然后,我跟着Google's instructions for adding an email address to an Analytics profile . 现在一切都按预期工作了 .

    祝好运!

  • 252

    只需添加给定的电子邮件(格式为 71667655853644-o653rrdkq5hthsgo0otbpojoo@developer.gserviceaccount.com

    给用户经理:

    User does not have any Google Analytics account

    希望它能帮到你

  • 7

    在上面的评论中提到了,但如果您在帐户的用户管理下添加电子邮件地址,则无法使用 . 您必须单击屏幕视图部分下的用户管理 .

    enter image description here

  • 0

    我面临同样的问题 . 通过将服务帐户用户(您的account@yourwebsite-dev.iam.gserviceaccount.com)的电子邮件ID添加到您的Google Analytics帐户中的用户,解决了以下问题 .

    分析 - 主页 - >管理员(左窗格) - >用户管理 - >添加(单击菜单右侧的加号) - >添加新用户 - >在输入电子邮件地址中添加电子邮件ID .

    enter image description here

    现在,这将解决问题 .

  • 2

    如果您从未使用您尝试进行身份验证的Google帐户登录,也会收到此错误 .

  • 4

    我收到了403错误,直到我将Google Analytics内部的电子邮件帐户权限从“读取和分析”更改为其他内容,将其保存,然后将权限更改回“读取和分析”并且确实有效 .

  • 0

    我遇到了403错误 . 这些步骤让我了解它 . 为了清楚起见,我试图让Google的样本“HelloAnalytics.php”与OAuth一起工作(没有用户交互,适合cron作业等) .

    启用Analytics API后,我在API和Auth / Credentials下创建了一个新的“服务帐户”;并保存了.p12密钥对 . 然后我进入了Analytics用户管理控制台,并添加了该服务用户的电子邮件地址 .

    如果我仅在权限列表中仅检查"Read & Analyze",则使用PHP API的.p12授权有效 . 如果我添加"Manage Users"和/或"Edit",我会得到403.希望这是有帮助的,我在研究这个问题几个小时......

  • 2

    您尝试使用该API的用户尚未启用其GA服务 .
    Simply having a google account is not enough .

    ...但是,拥有Google帐户并不会自动授予您访问Google Analytics的权限 . 首先,您必须注册Google Analytics,这是一个简单的过程......

  • 0

    我也有这个问题,我发现问题是我要求太多权限 . 开发者控制台说要求 http://www.googleapis.com/auth/analyticshttp://www.googleapis.com/auth/analytics.readonly 权限 . 当我还在使用 sub 声明时,这不起作用 . sub 声明指示Google发出代表其他用户操作的访问令牌 - 在我看来是拥有该服务帐户的Google帐户 . 我删除了 analytics 权限,并坚持使用 analytics.readonly 与子索赔:

    {
      "iss":"123123123123123-xxxxxxxxxxxxxxxxxxxxxxxx@developer.gserviceaccount.com",
      "sub":"me.example@gmail.com"
      "scope":"http://www.googleapis.com/auth/analytics",
      ...
    }
    

    颁发的持票人令牌允许我对完全不同的Google帐户拥有但已与我的Gmail用户共享(只读)的配置文件(至少部分)进行Google Analytics查询(me.example@gmail.com) .

  • 6

    我设法通过确保这个来解决这个问题

    client = Google :: APIClient.new(:application_name =>'X',:application_version =>'1')

    应用程序名称变量'X above是GA仪表板上的ACCOUNT名称,而不是PROPERTY名称,在我的情况下是我想要访问的网站的实际网址 .

    令人困惑,但谢天谢地(不,谢谢谷歌!)

相关问题