Google api 使用服务帐户在Google Analytics API中未经授权的模拟用户

Google api 使用服务帐户在Google Analytics API中未经授权的模拟用户,google-api,google-analytics-api,google-api-php-client,Google Api,Google Analytics Api,Google Api Php Client,我使用的是谷歌的PHP API客户端1.1.6版 我们有一个公司谷歌账户,它控制着我们的许多谷歌分析账户以及我们的谷歌开发者应用程序 我正在开发一个应用程序,使用服务帐户设置访问我们的谷歌分析。我使用的代码与此处提供的代码相同: 在本例中,$client_email是应用程序服务帐户客户端(随机)-chars@developer.gserviceaccount.com)$user_to_impersonate是我们公司的谷歌账户 就在几天前,这一切都正常工作,我可以通过API访问我们所有的Go

我使用的是谷歌的PHP API客户端1.1.6版

我们有一个公司谷歌账户,它控制着我们的许多谷歌分析账户以及我们的谷歌开发者应用程序

我正在开发一个应用程序,使用服务帐户设置访问我们的谷歌分析。我使用的代码与此处提供的代码相同:

在本例中,$client_email是应用程序服务帐户客户端(随机)-chars@developer.gserviceaccount.com)$user_to_impersonate是我们公司的谷歌账户

就在几天前,这一切都正常工作,我可以通过API访问我们所有的Google Analytics帐户。截至昨天,我收到了以下错误:

Error refreshing the OAuth2 token, message: '{
  "error" : "unauthorized_client",
  "error_description" : "Unauthorized client or scope in request."
}'
删除$user_to_impersonate参数后,经过身份验证的工作不会出错。但是,我一直在使用$user_to_模拟,因为我们有几百个GA帐户,而服务帐户客户端不是这些帐户上允许的用户(并且无论如何都有200个帐户的限制)

我找不到谷歌开发人员认证工作方式的最新更新,但可能我遗漏了什么

有什么想法吗

更新:显然,这是谷歌整个API的一个临时错误,现在已经修复:

更新2:毕竟不是临时问题。如果其他人需要,这里列出了解决方案。基本上是让你的应用程序永久访问给定的帐户/范围。

谷歌可能改变了对服务账户的处理方式,这已经不起作用了。它与特定的谷歌API客户端(PHP)或特定的API(分析)无关,但在我看来,它似乎是一个影响一切的一般性变化。

谷歌可能改变了服务帐户的处理方式,这不再有效。它与特定的GoogleAPI客户端(PHP)或特定的API(分析)无关,但在我看来,它是一个影响一切的一般性变化

Error refreshing the OAuth2 token, message: '{
  "error" : "unauthorized_client",
  "error_description" : "Unauthorized client or scope in request."
}'