Google Analytics API - 通过身份验证后无法添加服务

Posted

技术标签:

【中文标题】Google Analytics API - 通过身份验证后无法添加服务【英文标题】:Google Analytics API - Cant add services after having authenticated 【发布时间】:2016-12-19 00:27:39 【问题描述】:

在 google 控制台中,我为 API 密钥 - 类型服务器和其他类型的 Oauth 创建了凭据。

对于开发人员密钥,我使用 API 密钥凭据,对于客户端 ID/秘密,我使用 Oauth 凭据

我正在为谷歌分析 api 使用 php sdk:

$client = new Google_Client();
$client->setApplicationName('Schedule GA');
$client->setAccessType('offline');
$client->setUseObjects(true);

$ganalytics_settings = wp_get_custom_field_for_current_user('ganalytics_settings', 'ga_settings');

$ganalytics_settings['google_api_key'] = 'c0f3d189e82938128ndoea1a426ee4e264e4b0b0';
$ganalytics_settings['google_client_id'] = '17381202384367-gejnedh2aijuq1660f0lvl5uvj6roloo4.apps.googleusercontent.com';
$ganalytics_settings['google_client_secret'] = '**Secret key**';

$client->setClientId("17381202384367-gejnel2aijuq1060f0lvl5uvj6roloo4.apps.googleusercontent.com");
$client->setClientSecret("QclsDKOSLcsrbpJD_KLbIUtQ");
$client->setDeveloperKey("c0f3d189e82938128ndoea1a426ee4e264e4b0b0");
$client->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$analytics = new Google_AnalyticsService($client); //the error occurs here!!!

// Setting Access Token

$access_token = $ganalytics_settings['google_access_token'];
if ($access_token) 
    $client->setAccessToken($access_token);

else 
    if ($ganalytics_settings['google_auth_code']) 
        $client->authenticate($ganalytics_settings['google_auth_code']);
        $ganalytics_settings['google_access_token'] = $client->getAccessToken();

        // update_option('ganalytics_settings', $ganalytics_settings);
        ga_settings_exists_else_update();
    

但是,我收到以下错误消息:

Cant add services after having authenticated

有什么建议我做错了吗?

感谢您的回复!

【问题讨论】:

您的错误消息是否提到了有关范围的任何内容?对我来说看起来很奇怪的一件事是您没有设置范围。另外[这个问题](***.com/questions/12397815/…) 可能会有所帮助。 【参考方案1】:

你需要先设置一个范围,例如:

$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);

This 教程将来可能会对您有所帮助。

【讨论】:

以上是关于Google Analytics API - 通过身份验证后无法添加服务的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Google Analytics API 获取 Google Ads 关键字和广告内容

Google Analytics API:每个人会话导出数据

如何使用服务帐户通过 .NET C# 访问 Google Analytics API V3?

Google Analytics API 收入差异

Google Analytics,从 API 获取注释

Google Analytics API:“用户对此帐户没有足够的权限。”