2016-01-07 83 views
0

我正在尝试创建一个网站,用户将使用主用户名和密码以及他们的Google分析注册。当他们使用主账户登录时,他们将自动登录以查看其GA数据(以及来自其他API的数据)。Oauth2.0和谷歌服务帐户混淆

我目前正在尝试运行HelloAnalytics.php我已经创建了一个服务帐户并生成了客户机密钥文件。该文件被读,但我得到以下错误

“未捕获的异常‘Google_Service_Exception’有消息“错误调用get https://www.googleapis.com/analytics/v3/management/accounts:(403)用户没有任何谷歌Analytics帐户

我已阅读为了解决这个问题,您必须将服务帐户电子邮件添加到您想要查看的GA帐户。我很困惑这是否属实,以及服务帐户是如何工作的,因为在线只有1页的指南。要使用我的网站必须添加服务帐户电子邮件到他们的GA帐户?或者我错过了什么?任何帮助将不胜感激

回答

0

服务帐户的重点在于它不是针对某个人,而是针对服务器端应用程序(服务)。

您的用户将根据您的服务进行身份验证(使用您提供的任何身份验证方案),并且该服务将使用服务帐户中的凭据对Google Analytics进行身份验证。

服务帐户需要添加到您的服务想要从中提取数据的所有帐户,因为服务帐户是授予访问权限的“用户”。

但是,看起来你根本不需要服务帐户;如果用户信任你的数据,他们可以提供任何添加到他们帐户的电子邮件/密码组合,并且你可以使用它登录。

+0

如何在不使用服务帐户的情况下登录他们?我会使用客户端ID吗?我很困惑我将如何专门访问他们的信息。我对使用谷歌API非常陌生 – onebadbaggins

+0

您应该阅读以下列出的各种认证方案:https://developers.google.com/identity/protocols/OAuth2#scenarios但我很清楚您希望设置一个这意味着您应该按照此处的说明进行操作:https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/web-php – Matt