1

Так что я сделать запрос на YouTube аналитику, которая имеет следующие области применения:запрос YouTube Analytics возвращает нулевое

'scope'  => 'https://www.googleapis.com/auth/yt-analytics.readonly https://gdata.youtube.com https://www.googleapis.com/auth/userinfo.profile' 

Используя свой маркер доступа, я пытаюсь получить список абонентов канала с прошлого месяца, как это:

$command = 'curl -H "Authorization: Bearer ' . $access_token . '"https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=2016-07-01&end-date-2016-08-31&metrics=views&dimensions=day&sort=day'; 
     exec($command, $result); 

Даже если мне удастся в получении токена доступа и сохранения учетных данных пользователя, что я получаю от этого запроса заключается в следующем:

array(0) { } 

Без каких-либо ошибок. Кто-нибудь знает, почему это может случиться. Если вам потребуются более подробные сведения, просто спросите меня. Я нахожусь на часах с этой проблемой, поэтому мне очень нужна помощь быстро. Любая помощь приветствуется. Спасибо всем за ваше время! Это то, что я получаю от делать запрос в Обозревателе API:

{ 
"kind": "youtubeAnalytics#resultTable", 
"columnHeaders": [ 
    { 
    "name": "day", 
    "columnType": "DIMENSION", 
    "dataType": "STRING" 
    }, 
    { 
    "name": "views", 
    "columnType": "METRIC", 
    "dataType": "INTEGER" 
    } 
] 
} 
+0

Можете ли вы предоставить те же данные, используя API-интерфейс API? Я попробовал, но я не могу получить никаких данных, так как у моей учетной записи нет канала YT. Но на основе вашего ответа - его отличия от [тела ответа] (https://developers.google.com/youtube/analytics/v1/#response), указанного в API-интерфейсе YouTube Analytics – adjuremods

+0

@adjuremods тело ответа предполагается, что он будет сохранен в ["data"] => (остальная часть массива из моего проекта) – Alan

+0

Я не знаю, как использовать api explorer, теперь я проверю его – Alan

ответ

0

Я нашел решение моей проблемы. В моей просьбе даты окончания была опечатка:

end-date-2016-08-31 

Правильная версия выглядит следующим образом:

end-date=2016-08-31 

И URL я звоню должен иметь кавычки. Так что мой правильный вызов выглядит следующим образом:

$command = 'curl -H "Authorization: Bearer ' . $access_token . '" "https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=' . date('Y-m-d', strtotime('-31 days')) . '&end-date=' . date('Y-m-d', strtotime('today')). '&metrics=subscribersGained%2CsubscribersLost&dimensions=day&sort=day"'; 

Спасибо за ваше время!