Google Analytics API v3> analytics.management.uploads.uploadData Недостаточная проблема с правами доступа - PullRequest
0 голосов
/ 05 сентября 2018

Я разработал приложение PHP, которое будет отправлять данные о возмещении в аналитику. Я хочу отправить возврат через загрузку данных. Я использую клиентскую библиотеку PHP API Google , поэтому следующий код использует метод, который вы можете найти здесь: https://github.com/google/google-api-php-client-services/blob/a016ea7b6d47e1fd1f43d89ebd80059d4bfadb32/src/Google/Service/Analytics/Resource/ManagementUploads.php

$dataTxt = "ga:transactionId;ga:quantityRefunded;ga:productSku;ga:productPrice
dcn15355709483497;1;2811841;38.47
dcn15360003605123;1;3568636;89.35
dcn15359475814131;1;4238610;28.98";

$accountId = "xxxx"; # admin -> choose account -> view properties
$webPropertyId = "xxxx"; # admin -> choose property -> view properties
$customDataSourceId = "xxxx";    
$data = array(
    'data' => $dataTxt,
    'mimeType' => 'application/octet-stream',
    'uploadType' => 'media');
try {
    $this->service->management_uploads->uploadData(
        $accountId,
        $webPropertyId,
        $customDataSourceId,
        $data
    );

} 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();
}

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

Ошибка вызова POST https://www.googleapis.com/upload/analytics/v3/management/accounts/2465955/webproperties/UA-2465955-20/customDataSources/gx3hqqEjR7qBrcgrIDkToQ/uploads?uploadType=media: (403) Недостаточное разрешение

Я надеюсь, что кто-то может мне помочь, потому что у меня закончились ответы и вопросы.

1 Ответ

0 голосов
/ 05 сентября 2018

(403) Недостаточно прав доступа

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

Требуется, чтобы пользователь прошел проверку подлинности с помощью одной из следующих областей

Вы должны следовать этому примеру для проверки подлинности Быстрый запуск PHP Убедитесь, что вы используете правильную область.

Затем будет выполнен следующий запрос.

/**
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Data Import Developer Guide for details.
 */

/**
 * This request uploads a file to a custom data source.
 */
try {
  $analytics->management_uploads->uploadData(
      '123456',
      'UA-123456-1',
      '122333444455555',
      array('data' => file_get_contents('example.csv'),
            'mimeType' => 'application/octet-stream',
            'uploadType' => 'media'));

} 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();
}
...