11

Google 콘솔에서 API 키 유형 서버의 자격증 명과 기타 유형의 Oauth를 만들었습니다. 개발자 키 Google 애널리틱스 API - 인증 후 캔트 추가 서비스

나는 API 키 자격 증명을 사용하고 클라이언트 아이디/비밀을 나는 구글 분석 API의 PHP SDK를 사용하고

의 Oauth 자격 증명 사용하고 있습니다 :

$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 

내가 뭘 잘못하고있는 걸까요?

답장을 보내 주셔서 감사합니다.

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

This 튜토리얼이 당신을 도울 수 있습니다

+0

오류 메시지에 범위에 대해 언급이 있습니까? 나에게 이상하게 보이는 것은 당신이 범위를 설정하지 않았다는 것입니다. 또한 [이 질문] (http://stackoverflow.com/questions/12397815/google-exception-with-message-cant-add-services-after-having-authenticated) 도움이 될 수 있습니다. – Matt

답변

4

당신은 예를 들어, 첫 번째 범위를 설정해야합니다.