Подтвердить что ты не робот

"Недостаточно разрешений" учетная запись службы API Google Analytics

Я пытаюсь получить данные с помощью API Google Analytics через учетные записи служб.

Я искал в stackoverflow, как это сделать, и использовал тот же самый код, который был найден на нескольких сообщениях, но получал проблемы, чтобы заставить его работать.

Источники:

Службы приложений и API Google Analytics V3: Аутентификация OAuth2 от сервера к серверу

Службы приложений и API Google Analytics V3: Ошибка 101 (net:: ERR_CONNECTION_RESET)

http://code.google.com/p/google-api-php-client/source/browse/trunk/examples/prediction/serviceAccount.php

Вот что я получил:

require_once('googleAPIGoogle_Client.php');
require_once('googleAPI/contrib/Google_AnalyticsService.php');

const CLIENT_ID = 'xxxxxxxx001.apps.googleusercontent.com';
const SERVICE_ACCOUNT_NAME = '[email protected]';


$keyfile = $_SERVER['DOCUMENT_ROOT']."/xxxxxxx284-privatekey.p12";


$client = new Google_Client();
$client->setAccessType('offline');
$client->setApplicationName("cc insights");


$key = file_get_contents($keyfile);
$client->setClientId(CLIENT_ID);

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


$service = new Google_AnalyticsService($client);

$data = $service->data_ga->get("ga:xxxx7777", "2012-01-01", "2013-01-25", "ga:pageviews");
var_dump($data);

при выполнении я получил следующую ошибку:

Неустранимая ошибка: исключить исключение "Google_ServiceException" с сообщением "Ошибка вызова GET https://www.googleapis.com/analytics/v3/data/ga?ids=ga%3Axxxx7777&start-date=2012-01-01&end-date=2013-01-25&metrics=ga%3Apageviews: (403) Пользователь не имеет достаточных разрешений для этого профиля. ' в /Applications/XAMPP/xamppfiles/htdocs/insights/application/libraries/googleAPI/io/Google _REST.php:66 Трассировка стека: # 0/Приложения/XAMPP/xamppfiles/htdocs/insights/application/libraries/googleAPI/io/Google_REST.php(36): Google_REST:: decodeHttpResponse (объект (Google_HttpRequest)) # 1/Applications/XAMPP/xamppfiles/htdocs/insights/application/libraries/googleAPI/service/Google_ServiceResource.php(178): Google_REST:: выполнить (объект (Google_HttpRequest)) # 2/Applications/XAMPP/xamppfiles/htdocs/insights/application/libraries/googleAPI/contrib/Google_AnalyticsService.php(383): Google_ServiceResource → __ call ('get', Array) # 3/Applications/XAMPP/xamppfiles/htdocs/insights/application/libraries/Google.php(46): Google_DataGaServiceResource- > get ('g в /Applications/XAMPP/xamppfiles/htdocs/insights/application/libraries/googleAPI/io/Google _REST.php в строке 66

Поскольку я использую тот же самый код, что и рабочие примеры, я думаю, что это может быть проблема с настройками учетной записи API или службы?

Это пользователь, которого я добавил в учетную запись analytics: Analytics users

и это учетные записи доступа api: api access

Кто-нибудь знает, что я делаю неправильно?

4b9b3361

Ответ 1

Я получал точно такую ​​же ошибку, и это разрешило это для меня:

Я использовал идентификатор учетной записи вместо ID просмотра. При переходе на идентификатор вида был установлен "View ID", а не идентификатор учетной записи или свойства (который выглядит как "UA-xxx" ). Идентификатор View предназначен для определенного веб-ресурса и может быть найден в Admin- > View (3-й столбец) → Настройки просмотра. Его целое число без тире.

fooobar.com/questions/175405/...

Ответ 3

Такая же проблема. Решил его, используя идентификатор VIEW вместо идентификатора учетной записи (UA-XXXXX-1).

Analytics Console > Admin -> View (Profile) -> View Settings -> View ID

И

Убедитесь, что вы добавили учетную запись службы в список пользователей в консоли Google Analytics. Просто настроить его в разделе Credentials, API и Permissions консоли разработчика все равно не даст ему доступ к вашей аналитике.

Analytics Console > Admin -> Account -> User Management -> "Add permissions for:"

Ответ 4

Получил ту же ошибку, но через некоторое время я узнал, что я использовал этот script с моим Google Chrome (мой собственный адрес электронной почты), но API Google Analytics работает в электронной почте компаний. Таким образом, решение может заключаться в редактировании настроек вашего Chrome. Просто отключитесь от учетной записи gmail в Chrome Chrome (настройки) и снова проверьте ее.

Ответ 5

Использовать идентификатор просмотра Не ​​идентификатор учетной записи, вкладку "Администратор", "Просмотр настроек" "Идентификатор просмотра".

Ответ 6

Помог мне много после 2 недель попытки найти решение:

Консоль Google Analytics → Администратор → Вид (Профиль) → Настройки просмотра → Просмотр идентификатора

Ответ 7

В другом приложении я получал "Недопустимые разрешения" и обнаружил, что в моем файле .htaccess есть некоторые ограничения файлов, которые вызвали эту проблему.

Ответ 8

У меня была такая же проблема с использованием библиотеки .net, после некоторого вмешательства я нашел решение:

Перейдите на сайт управления Google Analytics и добавьте учетную запись службы в качестве пользователя и предоставите этой учетной записи необходимые права.

Ответ 9

Возможно, вы используете другой идентификатор клиента: секрет клиента: чтобы получить информацию о других профилях

Ответ 10

Если проблема... оказалось, что идентификатор учетной записи скрыт в URL-адресе вашей учетной записи аналитики!

https://developers.google.com/analytics/devguides/reporting/core/v3/#user_reports

URL-адрес обычно выглядит так:

https://www.google.com/analytics/web/?hl=en#management/Settings/a51343283w84330433 p87396224/% 3Fm.page% 3DAccountSettings/

Идентификатор, который мы ищем, следует букве p.

В приведенном выше примере идентификатор, который будет работать: 87396224