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:每个人会话导出数据