К сожалению, мне нужно спросить кого-то, кто узнал, как это сделать, потому что я и друг не смогли достичь этого за 8 часов попыток.Получить рейтинги видео с API YouTube V3 PHP
Что мы хотим сделать: Просто получить рейтинги любого данного видео YouTube (через его ID) и разместить их в эхе. У нас это было до того, как YouTube переключился на API V3 и теперь не может заставить его работать в новом API.
Как он работал в V2: Мы создали функцию, которая в основном используется в PHP API для установки массива, как это:
$rating[] = $videoEntry->getVideoRatingInfo();
Как предполагается, работает в настоящее время: https://developers.google.com/youtube/v3/docs/videos/list#try-it здесь вы найдете документацию и несколько примеров (PHP # 1 не работал, хотя мы исправили ошибку
$youtube = new Google_Youtube_Service($client);
действительно является
$youtube = new Google_YoutubeService($client);
Что работает?
try {
$searchResponse = $youtube->search->listSearch('id,snippet', array(
'q' => $vid,
'maxResults' => 1,
));
foreach ($searchResponse['items'] as $searchResult) {
switch ($searchResult['id']['kind']) {
case 'youtube#video':
$sr = $searchResult['id']['videoId'];
$stit = $searchResult['snippet']['title'];
$svid = $searchResult['id']['videoId'];
Это в конечном счете даст нам название для видео YouTube, но, к сожалению, мы не можем получить рейтинги по поисково-> listSearch, но только с videos-> список или videos-> listVideos (мы не уверены, из того, что является правильным, поскольку документация на самом деле не очень точна).
То, что мы пытались: Мы в основном пытались десятки комбинаций этой линии (тот, который бросает ошибки):
$videosResponse = $youtube->videos->list('part,id',array(
'part' => 'statistics'), array('id' => 'hoe9xW7vnpA'));
Мы не уверены в том, как правильно обращаться с этим в качестве документации не говорит нам, и пример кода, который подходит лучше всего (PHP # 1), не работает. Мы также уверены, что ошибки хотят сказать нам, вот пример:
An client error occurred: (list) missing required param: 'id' And another one here: Fatal error: Uncaught exception 'Google_Exception' with message '(list) missing required param: 'id'' in /kunden/406064_81373/webseiten/moone.in/test/google-api-php-client/src/service/Google_ServiceResource.php:117 Stack trace: #0 /kunden/406064_81373/webseiten/moone.in/test/google-api-php-client/src/contrib/Google_YouTubeService.php(810): Google_ServiceResource->__call('list', Array) #1 /kunden/406064_81373/webseiten/moone.in/yt.php(22): Google_VideosServiceResource->listVideos('hoe9xW7vnpA', Array, 'id,part') #2 {main} thrown in /kunden/406064_81373/webseiten/moone.in/test/google-api-php-client/src/service/Google_ServiceResource.php on line 117
Наши testfiles можно найти здесь: http://moone.in/yt.phphttp://moone.in/yttest.phphttp://moone.in/yttest2.php http://kati.renoi.de/test.php
Если кто-то может помочь нам с правильный синтаксис в список video-> videoList или ->, который был бы замечательным! Результат должен выглядеть следующим образом:
{ "kind": "youtube#videoListResponse", "etag": "\"DsOZ7qVJA4mxdTxZeNzis6uE6ck/6A0cNjY9_rw5Yp9m7QtlTdTYMNw\"", "pageInfo": { "totalResults": 1, "resultsPerPage": 1 }, "items": [ { "kind": "youtube#video", "etag": "\"DsOZ7qVJA4mxdTxZeNzis6uE6ck/Y9W8NZu8IBcMlsQNsTsNLi5dk0k\"", "id": "hoe9xW7vnpA", "statistics": {
"viewCount": "7863",
"likeCount": "1105",
"dislikeCount": "10",
"favoriteCount": "0",
"commentCount": "785" } } ] }
Спасибо!