Получение «Запрещенной ошибки» при попытке выполнить API аналитики youtube

При попытке выполнить API аналитики youtube появляется сообщение об ошибке.

Возникла ошибка службы: Ошибка при вызове GET https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DUCaayLD9i5x4MmIoVZxXSv_g&start-date=2016-08-01&end-date=2016-08-07&metrics= views & dimensions = 7DayTotals : (403) Запрещено

Вот мой код:

require_once __DIR__.'\google-api-php-client-1-master\src\Google\autoload.php'; require_once __DIR__.'\google-api-php-client-1-master\src\Google\Client.php'; require_once __DIR__.'\google-api-php-client-1-master\src\Google\Service\YouTube.php'; session_start(); $key = file_get_contents('mykey.json'); $OAUTH2_CLIENT_ID = 'xx-xx-xx'; $OAUTH2_CLIENT_SECRET = 'xxx'; $scope = array("https://www.googleapis.com/auth/youtube.force-ssl", "https://www.googleapis.com/auth/youtubepartner-channel-audit", "https://www.googleapis.com/auth/youtube", "https://www.googleapis.com/auth/youtube.readonly", "https://www.googleapis.com/auth/yt-analytics.readonly", "https://www.googleapis.com/auth/yt-analytics-monetary.readonly","https://www.googleapis.com/auth/youtubepartner"); $client = new Google_Client(); $client->setClientId($OAUTH2_CLIENT_ID); $client->setClientSecret($OAUTH2_CLIENT_SECRET); $client->setAccessType('offline'); $client->setAccessToken($key); $client->setScopes($scope); if ($client->getAccessToken()) { //Check to see if our access token has expired. If so, get a new one and save it to file for future use. if($client->isAccessTokenExpired()) { //refresh your access token if it's expired $newToken = json_decode($client->getAccessToken()); $client->refreshToken($newToken->refresh_token); file_put_contents('mykey.json', $client->getAccessToken()); } $analytics = new Google_Service_YouTubeAnalytics($client); $channel_url = 'UCaayLD9i5x4MmIoVZxXSv_g'; $ids = 'channel==' . $channel_url . ''; $end_date = '2016-08-07'; $start_date = '2016-08-01'; $optparams = array( 'dimensions' => '7DayTotals', ); $metric = 'views'; $api = $analytics->reports->query($ids, $start_date, $end_date, $metric, $optparams); echo '<pre>';print_r($api);die; } 

Я уже включил 'youtube analytic API' и я получаю access_token отсюда

Что не так с моим кодом, Или нам нужно сделать еще несколько вещей, чтобы избавиться от этого?

Related of "Получение «Запрещенной ошибки» при попытке выполнить API аналитики youtube"

Глядя на ваш код, кажется, что вы создаете новый токен доступа в тот момент, когда вы его сохраняете в файл (недействительным первый).

Пытаться :

  if($client->isAccessTokenExpired()) { //refresh your access token if it's expired $newToken = json_decode($client->getAccessToken()); $client->refreshToken($newToken->refresh_token); file_put_contents('mykey.json', $newToken); }