Google AnalyticsAPI - oAuth2身份验证失败

时间:2016-10-15 14:53:23

标签: php google-analytics-api google-api-php-client google-oauth2 youtube-analytics-api

我正在尝试从Google Analytics和Youtube Analytics检索信息,但收效甚微。我正在使用PHP API。

我尝试连接服务帐户,但工作正常。

不幸的是,我不得不使用oAuth2协议,因为我必须从Youtube Analytics检索数据,并且需要使用oAuth2身份验证。

以下是我正在使用的代码:

require_once 'vendor/autoload.php';

// create the client and connect
$client = new Google_Client();
$client->setAuthConfig('client_secrets.json');
$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);

// send the query
$service = new Google_Service_Analytics($client);
$id = 'ga:XXXXXX';
$start_date = '2016-09-01';
$end_date = '2016-09-10';
$metrics = 'ga:visitors';
$data = $service->data_ga->get($id, $start_date, $end_date, $metrics);

以下是错误消息:

  

致命错误:未捕获的异常'Google_Service_Exception'   信息   “{ “错误”:{ “错误”:[{ “域”: “全局”, “原因”: “需要”, “消息”:“登录   需要 “ ”的locationType“: ”首部“, ”位置“: ”授权“}], ”代码“:401, ”消息“:” 登录   需要“}}”

我一直在努力解决这个错误,但我找不到原因。我的第一个想法是setAuthConfig没有自动登录我,但我在网上看到了很多使用完全相同的方法的例子,包括在API文档中。

我错过了什么?

非常感谢你阅读和回答!

1 个答案:

答案 0 :(得分:1)

错误401表示

  

凭据无效表示身份验证令牌无效或已过期。

您应该获得一个新的身份验证令牌。

Source