Google Analytics - 第三方访问帐户授权

Posted

技术标签:

【中文标题】Google Analytics - 第三方访问帐户授权【英文标题】:Google Analytics - 3rd party access to account authorisation 【发布时间】:2015-11-23 13:17:10 【问题描述】:

我正在编写一个脚本,它在其中查询 Google Analytics(分析)并利用它拉回的信息创建一个报告。

我浏览了 Google Analytics 网站上的 php 快速入门指南,并设置了开发人员服务帐户并开始工作。

但是我遇到的问题是我只能访问拥有此电子邮件的帐户以及许多其他我无法添加此电子邮件的帐户,因为我没有权限。我们无法将开发者服务帐户登录到这些帐户,但我们确实有一封公司电子邮件对其帐户具有读取权限。

有没有什么方法可以通过公司邮箱而不是开发者服务帐号查询 Google Analytics?或者有没有其他方法可以查询 Google Analytics 以从他们的帐户中获取我需要的信息?

【问题讨论】:

【参考方案1】:

如果您有权访问相关帐户,或者如果帐户所有者愿意通过将相关帐户添加为用户来授予您的服务帐户对相关帐户的访问权限,则服务帐户将起作用。

如果您不能这样做,那么您将使用 Oauth2,这将需要该帐户的所有者或用户。基本上任何有权访问的人都会进入并验证您的应用程序。 Hello Analytics API: PHP quickstart for web applications 是使用 Oauth2 的官方文档。由于您的公司电子邮件可以访问他们的帐户,您应该能够使用该电子邮件对应用程序进行身份验证,然后访问它。

如果您尝试自动执行此操作。您将需要请求offline access 以获取刷新令牌,然后保存刷新令牌,然后您就可以随时访问该帐户以创建报告。无需重新验证应用程序。

【讨论】:

谢谢,我会调查的。如果我使用 Oauth2,我需要进行 2 腿或 3 腿身份验证吗? 它的 3 条腿。从技术上讲,我认为服务帐户是两条腿的。 我已经完成并让 Web 应用程序正常工作,那么我将如何访问客户帐户?他们是否需要允许我的脚本,或者我是否需要编辑脚本中的 $analytics 或 $client 才能使用公司电子邮件? (抱歉所有这些问题,我是 Google Analytics 的新手) 假设您正在使用具有所有访问权限的公司电子邮件进行身份验证。运行 Account summeries.list 将显示您有权访问的所有帐户。 developers.google.com/analytics/devguides/config/mgmt/v3/…(诀窍在于弄清楚谁拥有该帐户。这样您就不会向某人显示错误的数据。) 谢谢,这已经得到了所有账户的列表,我可以使用这些信息来查询他们的账户。再次感谢你!【参考方案2】:

我认为获取此信息的最佳方式是您拥有 1 个主账户下的所有子账户,而不是完成令牌交换 使用 OAuth,或者您可以拥有主帐户的服务帐户,该帐户将能够检索所有信息并发布您仅有的信息 通过 management_accounts 类查询 listManagementAccounts() 方法

假设你 $GAClient 是你的谷歌分析客户端,那么完美的调用可以像

$accounts = $GAClient->management_accounts->listManagementAccounts();

如果您没有访问权限或者您正在创建独立服务,那么您可以使用 oAuth 登录来保存令牌,然后您可以在需要时查询它。

这是相同的帮助网址。

https://developers.google.com/api-client-library/php/auth/web-app

【讨论】:

那行代码在教程中并且确实列出了创建的电子邮件所在的帐户。但是我不能将创建的电子邮件放入任何其他帐户,因为我没有权限这样做。这意味着没有一个主账户,每个客户都有自己的账户。 我认为你应该看到oAuth登录方法而不是服务帐户登录来访问api。

以上是关于Google Analytics - 第三方访问帐户授权的主要内容,如果未能解决你的问题,请参考以下文章

使用 C# 访问 Google Analytics(分析)

Google Analytics:从刷新令牌中获取访问令牌

Google Analytics 中的访问流

如何在django管理面板中访问Google Analytics?

无法在 BigQuery 中访问 Google Analytics 的示例数据集

在 python 中没有本地浏览器的 Google Analytics API 访问