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

我正在创建一个脚本,基于谷歌分析从这个页面一步一步的指南:

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

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

用户没有任何谷歌分析帐户

这条信息没有任何意义: 我的帐户有谷歌分析数据,跟踪多个网站,我可以访问它从网络浏览器没有问题。我已经允许通过谷歌 API 控制台的分析 API,和 API 访问给我正确的数据。

99665 次浏览

我也有这个问题。我把我服务账户的电子邮件地址添加到我想要它访问的 Google 分析档案中,从而修复了这个问题。

我通过在谷歌 API 控制台的“ API 访问”标签下找到了这个服务帐户的电子邮件地址(类似于 xxxxxx@developer.)。

然后,我跟踪 谷歌的指示添加一个电子邮件地址到一个分析配置文件。现在一切正常。

祝你好运!

如果你从来没有登录过你试图验证的谷歌帐户,你也会得到这个错误。

我也有这个问题,我发现问题是我要求了太多的权限。开发人员控制台要求两个 http://www.googleapis.com/auth/analytics 还有 http://www.googleapis.com/auth/analytics.readonly权限。这不工作时,我也使用 sub索赔。sub声明指示谷歌发出一个操作 代表另一个用户的访问令牌ーー在我的例子中,是拥有该服务帐户的谷歌帐户。我删除了 analytics的许可,并坚持使用 analytics.readonly的子索赔:

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

持有者令牌允许我对完全不同的谷歌账户所拥有的个人资料进行(至少一些)谷歌分析查询,但这些个人资料已经被我的 gmail 用户(me.example@gmail.com)共享(只读)。

我设法解决了这个问题

Client = Google: : APIClient.new (: application _ name = > ‘ X’,: application _ version = > ‘1’)

应用程序名称变量’上面的 X 是 GA 仪表板上的 ACCOUNT 名称,而不是 PROPERTY 名称,在我的例子中,它是我想访问的站点的实际 URL。

令人困惑,但谢天谢地已经解决了(不用感谢谷歌!)

由于我们没有提供一个“子”参数,问题就发生了。除非我们提供这个,否则调用将代表长服务帐户电子邮件发生。

所以只要提供一个子论点,与电子邮件,你已经给予访问的报告和事情应该工作得很好!

只要添加给你的电子邮件(71667655853644-o653rrdkq5hthsgo0otbpojoo@developer.gserviceaccount.com格式)

致用户经理:

User does not have any Google Analytics account

希望能帮到你

我得到了403错误,直到我改变了从谷歌分析内部的电子邮件帐户的权限从“阅读和分析”到其他东西,保存它,然后改回“阅读和分析”的权限和它的工作。

我按了403错误键。这些台阶让我绕过它。需要说明的是,我试图让 Google 的示例“ HelloAnalytics.php”与 OAuth 一起工作(无用户交互,适合 cron 作业等)。

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

.如果在权限列表中勾选 只有“ Read & Analyze”只有,使用 PHP API 的 p12授权就可以工作。如果我添加“管理用户”和/或“编辑”,我得到403。希望这对你有帮助,我研究了几个小时。

在上面的评论中已经提到了,但是如果你在 帐户的用户管理下面添加了电子邮件地址,那么它就不起作用了。你必须点击屏幕 风景部分下的用户管理。

enter image description here

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

Analytics-Home Page-> Admin (left panel)-> User Management-> Add (click on plus sign on the right side of the menu)-> Add new User-> Add the email id in enter email address.

enter image description here

这样就能解决问题了。

我得到了同样的错误,因为我没有登录谷歌分析。所以我通过注册分析账户解决了这个问题。

与使用服务帐户不同,您可以通过使用 OAuth client ID凭据来规避添加新用户权限的需要(根据本线程的 top 应答)。

转到 API 凭证仪表板,然后单击“创建凭据”-> “ OAuth 客户端 ID”。然后,您应该得到一个客户端 ID 和一个用于验证 API 的客户端机密。

现在您可以使用 OAuth2WebServerFlow在每次使用的基础上进行身份验证:

from apiclient.discovery import build
from oauth2client.client import OAuth2WebServerFlow


# TODO: Fill these in...
CLIENT_ID = ''
CLIENT_SECRET = ''
VIEW_ID = ''


flow = OAuth2WebServerFlow(
CLIENT_ID, CLIENT_SECRET,
'https://www.googleapis.com/auth/analytics.readonly',
redirect_uri='urn:ietf:wg:oauth:2.0:oob'
)


authorize_url = flow.step1_get_authorize_url()
print('Receive code from:\n%s\n' % authorize_url)
code = input('Enter code here:').strip()
credentials = flow.step2_exchange(code)


api = build('analyticsreporting', 'v4', credentials=credentials)
body={
'reportRequests': [{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
'metrics': [{'expression': 'ga:sessions'}],
'dimensions': [{'name': 'ga:country'}]
}]
}


data = api.reports().batchGet(body=body).execute()

以防万一,如果这不工作,尝试打开您的 JSON 文件,您已经下载和搜索 client_email,并复制该电子邮件地址,并添加到视图文件

点击

Analytics-Home Page ->Admin(left pane) -> User Management -> add (click on plus sign on right side of the menu) -> Add new User -> Add the client_email address which you copied.

如果还是不行的话

Analytics-Homepage-> Admin ->Views->User Management(Click on add(+) symbol, add this ccopied client_email address and give permissions and save it.

这个消息我们得到的时候,没有权限授予 client_email,在 谷歌分析client_email是你得到的 从 JSON 文件。要授予您在应用程序中使用的 client_email权限,请前往 谷歌分析网站并单击“管理(设置图标)”

enter image description here

你会得到菜单列表的权利,有点击“查看用户管理”

enter image description here

在那里你会看到“ +”图标和“添加用户”,

enter image description here

一旦你点击它,你需要添加 client_email在“电子邮件地址字段”和保存它,你应该是好去!

enter image description here

转到 https://console.cloud.google.com/apis/credentials

复制“服务帐户”中的电子邮件地址。

enter image description here

打开谷歌分析,添加电子邮件作为一个新的用户以上。