2

Я пытаюсь извлечь данные из наших экспериментов контента из Google Analytics ...Google Analytics API Возвратившись 401 На примере кода

Я использую следующий код, мои кредитки хороши, и были подвергнуты цензуре для этого пост ...

<?php 
require_once 'Google/Client.php'; 
require_once 'Google/Service/Analytics.php'; 

session_start(); 

$client = new Google_Client(); 
$client->setApplicationName('Hello Analytics API Sample'); 

// Visit https://cloud.google.com/console to generate your 
// client id, client secret, and to register your redirect uri. 
$client->setDeveloperKey('xxxxx'); 

$service = new Google_Service_Analytics($client); 
try { 
$results = $service->management_experiments->listManagementExperiments('xxxx', 'xxxx', 'xxxx'); 
} catch (apiServiceException $e) { 
    print 'There was an Analytics API service error ' . $e->getCode() . ':' . $e->getMessage(); 

} catch (apiException $e) { 
    print 'There was a general API error ' . $e->getCode() . ':' . $e->getMessage(); 
} 
echo '<pre>'; 
print_r($results); 
echo '</pre>'; 

Я использую следующий пример ....

https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtExperimentsGuide#list

Любые идеи о том, почему я получаю 401 Несанкционированное? Что требуется логин?

+0

Как вы получаете разрешение? Вы пытаетесь использовать учетную запись службы, которая обходит логин? Похоже, у вас есть код, который требует входа в систему через Google. –

+0

Есть ли шанс, что вы можете предоставить примерный код? Я был в этом весь день .. = [ –

+0

Ну, вы пытаетесь использовать учетную запись службы, которая обходит логин или код, требующий входа в систему через Google? –

ответ

4

Проблема в том, что у вас еще нет авторизированного доступа к вашим данным. Так как вы говорите только свои собственные данные, вы хотите получить доступ к i sugest, вы смотрите на service account. При настройке учетной записи службы в Google apis console она позволит вам получить доступ к вашим собственным данным без необходимости входа в систему и аутентификации кода.

Проверьте следующую ссылку. Прочтите, прежде чем начните, убедитесь, что вы все это сделали.

  1. Зарегистрируйте приложение в Google Developers Console
  2. Авторизовать доступ к данным Google Analytics.
  3. Создание объекта службы Analytics

Вы пропустить, первые два шага и ушел к шагу 3 создания объекта службы. После того, как вы сделали шаг 1 вы можете использовать следующий код для шага 2.


Вот пример того, как использовать учетную запись службы в PHP ServiceAccount

Этот пример проекта для PredictionService не служба Google Analytics. Вам нужно немного отредактировать его.

require_once '../../src/Google/Client.php'; 
require_once '../../src/Google/Service/Analytics.php'; 

// Set your client id, service account name, and the path to your private key. 
// For more information about obtaining these keys, visit: 
// https://developers.google.com/console/help/#service_accounts 

const CLIENT_ID = 'INSERT_YOUR_CLIENT_ID'; 
const SERVICE_ACCOUNT_NAME = 'INSERT_YOUR_SERVICE_ACCOUNT_NAME'; 


// Make sure you keep your key.p12 file in a secure location, and isn't 
// readable by others. 

const KEY_FILE = '/super/secret/path/to/key.p12'; 


$client = new Google_Client(); 
$client->setApplicationName("Google Analytics Sample"); 


// Load the key in PKCS 12 format (you need to download this from the 
// Google API Console when the service account was created. 


$client->setAssertionCredentials(new Google_AssertionCredentials( 
    SERVICE_ACCOUNT_NAME(Email), 
    array('https://www.googleapis.com/auth/analytics.readonly'), 
    file_get_contents(KEY_FILE)) 
); 


$client->setClientId(CLIENT_ID); 
$service = new Google_Service_Analytics($client); 

Теперь у вас есть $service, которые вы можете использовать с остальной частью ваших звонков. Примечание. У меня не было времени проверить этот код, дайте мне знать, если он не работает, и я дам вам руку на его исправление.

+1

Вы - мужчина! –

+0

Я работаю? – DaImTo

+0

с несколькими модами к коду, я отредактирую, как только у меня будет его полная работа, испытывая еще одну ошибку на данный момент. –

Смежные вопросы