1

Итак, у меня есть веб-приложение ouath, которое подключается к YouTube. Я использую вызовы аналитики youtube, чтобы получить информацию, такую ​​как количество подписчиков с моего канала. Но сейчас я пытаюсь сделать 10 лучших видео с моего канала с количеством просмотров для каждого видео, включенного в ответ. Я использую эту документацию: Top videos for subscribed or unsubscribed viewersКак получить 10 лучших видео с вашего канала с учетом количества просмотров, включенных в ответ

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

$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=views&dimensions=video&sort=views"'; 

Но я получаю сообщение об ошибке в ответ:

"The query is not supported. Check the documentation at https://developers.google.com/youtube/analytics/v1/available_reports for a list of supported queries." 

Я также попытался этот вызов с Yotube API данных :

 $videos_url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&forMine=true&order=viewCount&type=video&access_token=' . $access_token; 

Но он предоставляет такой ответ:

["kind"]=> 
    string(26) "youtube#searchListResponse" 
    ["etag"]=> 
    string(57) ""######"" 
    ["nextPageToken"]=> 
    string(112) "#######" 
    ["pageInfo"]=> 
    object(stdClass)#267 (2) { 
     ["totalResults"]=> 
     int(1) 
     ["resultsPerPage"]=> 
     int(5) 
    } 
    ["items"]=> 
    array(1) { 
     [0]=> 
     object(stdClass)#270 (4) { 
     ["kind"]=> 
     string(20) "youtube#searchResult" 
     ["etag"]=> 
     string(57) ""#####"" 
     ["id"]=> 
     object(stdClass)#269 (2) { 
      ["kind"]=> 
      string(13) "youtube#video" 
      ["videoId"]=> 
      string(11) "####" 
     } 
     ["snippet"]=> 
     object(stdClass)#273 (6) { 
      ["publishedAt"]=> 
      string(24) "2016-09-14T14:49:49.000Z" 
      ["channelId"]=> 
      string(24) "#####" 
      ["title"]=> 
      string(12) "My Slideshow" 
      ["description"]=> 
      string(87) "I created this video with the YouTube Slideshow Creator (http://www.youtube.com/upload)" 

Этот ответ не предусматривает кол-во просмотров. Мне нужно для каждого видео, чтобы получить количество просмотров. Любые идеи о том, как это сделать? Любая помощь приветствуется! Спасибо всем за ваше время!

ответ

2

Проблема с вашим запросом api youtube analytics - sort. Попробуйте использовать значение -views вместо views. Вы можете дважды проверить ссылку API, которую вы предоставили. Также установите Пример URL max-results

:

https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3Dmine&start-date=2016-05-01&end-date=2016-09-01&metrics=views&dimensions=video&max-results=10&sort=-views&key={YOUR_API_KEY} 
+0

Большое спасибо за вашу помощь, теперь у меня есть видео идентификатор и просмотров сосчитать. Но мне нужно также получить их титулы. Есть ли способ сделать это? – Alan

+0

@Alan Чтобы получить титул видео, вы должны использовать API-интерфейс youtube. 'https://www.googleapis.com/youtube/v3/videos?part=snippet&id= {VIDEO_ID} & key = {YOUR_API_KEY}' –

+0

Спасибо, что это решило мою проблему! – Alan

 Смежные вопросы

  • Нет связанных вопросов^_^