没有客户端登录的Google Analytics核心报告API 3.0版

时间:2012-08-15 09:00:20

标签: php google-analytics google-analytics-api

我想使用较新的v3.0访问我们的Google Analytics帐户报告,但是从我阅读的所有内容看来,为了获得有效的访问令牌,用户必须登录。

我们希望直接访问自己的帐户报告,而不是根据帐户访问客户端。我们如何在PHP中完成此操作而无需将浏览器发送到Google登录页面? v3.0没有直接的API身份验证吗?

修改

这似乎是在没有最终用户交互的情况下访问API的唯一方法,他们称之为“服务器到服务器”:

https://developers.google.com/accounts/docs/OAuth2ServiceAccount

编辑2

看起来无法完成? ;(

  

警告:目前很少有Google API支持服务帐户。   目前,Google支持服务帐户   开发者服务:

     
      
  • Google云端存储
  •   
  • Google Prediction API
  •   
  • Google URL Shortener
  •   
  • Google OAuth 2.0授权服务器
  •   

编辑3

毕竟似乎有一个解决方案,因为我登录一次然后使用“刷新令牌”继续获取访问权限而无需额外的用户登录。

1 个答案:

答案 0 :(得分:1)

我最终使用刷新令牌,它们工作正常。我使用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);