Php 不带客户端登录的Google Analytics Core Reporting API 3.0版
我想使用更新的v3.0访问我们的Google Analytics帐户报告,但从我读到的所有信息来看,为了获得有效的访问令牌,用户必须登录 我们希望直接访问我们自己的帐户报告,而不是根据客户的帐户访问客户的报告。我们如何在PHP中实现这一点,而不必将浏览器发送到Google登录页面?v3.0是否没有直接的API身份验证 编辑 这似乎是在没有最终用户交互的情况下访问API的唯一方法,他们称之为“服务器到服务器”: 编辑2 看来这是做不到的;( 警告:目前很少有谷歌API支持服务帐户。 服务帐户目前由以下Google支持 开发者服务:Php 不带客户端登录的Google Analytics Core Reporting API 3.0版,php,google-analytics,google-analytics-api,Php,Google Analytics,Google Analytics Api,我想使用更新的v3.0访问我们的Google Analytics帐户报告,但从我读到的所有信息来看,为了获得有效的访问令牌,用户必须登录 我们希望直接访问我们自己的帐户报告,而不是根据客户的帐户访问客户的报告。我们如何在PHP中实现这一点,而不必将浏览器发送到Google登录页面?v3.0是否没有直接的API身份验证 编辑 这似乎是在没有最终用户交互的情况下访问API的唯一方法,他们称之为“服务器到服务器”: 编辑2 看来这是做不到的;( 警告:目前很少有谷歌API支持服务帐户。 服务帐户目前
- 谷歌云存储
- 谷歌预测API
- 谷歌网址缩短器
- Google OAuth 2.0授权服务器
毕竟似乎有一个解决方案,因为我登录一次,然后使用“刷新令牌”来保持访问权限,而无需额外的用户登录。我最终使用了刷新令牌,它们工作正常。我使用google api控制台获得了oauth令牌,然后保存了它 然后在每次请求之前我都会这样做:
require_once 'google-api-php-client/src/apiClient.php';
require_once 'google-api-php-client/src/contrib/apiAnalyticsService.php';;
$client = new apiClient();
$client->setApplicationName('My Analytics');
$client->setClientId($this->client_id);
$client->setClientSecret($this->client_secret);
$client->setDeveloperKey($this->api_key);
$client->setScopes(array('https://www.googleapis.com/auth/analytics.readonly'));
$client->refreshToken($this->refresh_token);
$this->service = new apiAnalyticsService($client);
您好@Sarke,这是大多数GA-API程序员遇到的一个现实问题,我现在遇到了,我想问您是否找到了解决方案,我在某个地方读到,您应该将访问令牌和刷新令牌保存为变量,并将其提供给SetAcess()函数,但我没有让它工作。如果您发现任何问题,请告诉我,并发布代码片段,我们将不胜感激!谢谢