Я работаю над добавлением свойств в свою учетную запись Google Analytics, я застрял с этим более 24 часов, и я понятия не имею, что я делаю неправильно … каждый раз, когда я пытаюсь создать веб-ресурс это возвращает 403 (insufficient permission)
ошибка.
Вот мой код:
$client = new Google_Client();
$accountName = "[email protected]";// Email Address
$p12 = $applicationPath."/google-api-php-client-master/API-xxxxx-xxxxxxx.p12";
$client->setScopes(array(
'https://www.googleapis.com/auth/analytics',
'https://www.googleapis.com/auth/analytics.manage.users'
));
$client->setApplicationName('My App Sample');
$client->setClientId('xxxxxxxxxxxcl.apps.googleusercontent.com');// Client Id
$client->setAccessType('offline');
$client->setAssertionCredentials(new Google_Auth_AssertionCredentials(
$accountName,
array('https://www.googleapis.com/auth/analytics'),
file_get_contents($p12), 'xxxxxxxx')
);
$analytics = new Google_Service_Analytics($client);
try {
$property = new Google_Service_Analytics_Webproperty();
$property->setName('sample-property');
$analytics->management_webproperties->insert('123456', $property);// 123456 my View Id
} 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();
}
Я перепробовал все, но я продолжаю получать (403) Insufficient Permission
ошибка. кто-то, пожалуйста, укажите мне в правильном направлении, спасибо.
Вам необходимо отправить идентификатор учетной записи, а не просмотреть идентификатор.
$analytics->management_webproperties->insert('123456', $property);// 123456 my View Id
Вы подали заявку на доступ к бета-версии?
Бета-доступ:
Операции записи в API управления (например, создание, обновление, удаление, исправление) для ресурсов веб-ресурса, представления (профиля) и цели:
В настоящее время доступен предварительный просмотр в ограниченной бета-версии. Если вы
заинтересованы в использовании этих функций, запросить доступ к бета-версии.
Форма запроса доступа: Вот
Обязательное поле
Если у вас есть бета-доступ, вы можете попробовать опубликовать его на бета-форуме. Не помню, был ли там кто-нибудь с PHP-кодом. Но я думаю, что setWebsiteUrl может потребоваться как часть тела свойства. Но, похоже, для PHP не документировано, что мне придется это проверять.
Сервисный аккаунт
Также представляется, что вы используете служебную учетную запись, предоставили ли вы служебной учетной записи право записи на уровне учетной записи to the Google Analytics Account you are trying to create a new web property for
? Я сделал тест, и вы можете использовать вставку с сервисной учетной записью, которой был предоставлен доступ.
Других решений пока нет …