API данных Youtube: получение нескольких видеозаписей по идентификаторам в одном запросе
Мне интересно, есть ли способ запросить YouTube для нескольких случайных
видео (идентификатор видео известен) в одном запросе?
Я сохраняю идентификатор видео в локальном db и должен показать несколько
детали (список с большими пальцами, рейтинг, имя автора и т.д.) на веб-странице.
Я смотрю API данных Youtube и вижу, что могу
данные сущности:
Uri videoEntryUrl = new Uri("http://gdata.youtube.com/feeds/api/videos/video_id");
Video video = request.Retrieve<Video>(videoEntryUrl);
Повторение этого в цикле кажется плохой идеей, поскольку
квоты.
Существует также "пакетная обработка" -
http://code.google.com/apis/youtube/2.0/developers_guide_dotnet.html#Batch_processing.
Похоже, я могу выдавать до 50 случайных запросов, но он ожидает, что некоторые
feed Я не имею в качестве параметра при выполнении партии.
Существует перегрузка с некоторыми Uri, но она не документирована хорошо - google-gdata.googlecode.com/svn/docs/folder59/M_Google_GData_Client_FeedRequest_1_Batch__1_2.htm
Есть ли у кого-нибудь идеи о том, как извлекать несколько видеозаписей
по id? Любая помощь будет оценена.
Ответы
Ответ 1
У меня тоже была одна и та же проблема, мне нужен список объектов видео, связанных с произвольным списком идентификаторов видео, т.е. не соответствующих ни одному из каналов.
Опция пакетной обработки очень заманчива, но реализация кажется довольно тяжелой для того, что должно быть довольно простой функциональностью.
В конце дня, выполняя основной поиск видео для идентификатора, разделенного каналом "|", достигает требуемого результата:
http://gdata.youtube.com/feeds/api/videos?q=h5jKcDH9s64|elzqvWXG1Y
Надеюсь, что это поможет
Ответ 2
В Youtube Data API версии 3.0 вы можете сделать это простым способом.
https://www.googleapis.com/youtube/v3/videos?key=API_KEY&part=snippet&id=video_id1,video_id2
Просто добавьте идентификаторы видео, разделенные запятой. Он предоставит вам данные для всех видео в JSON
Я не знаю, в чем предел для этого, обновит ответ, как только найду его.
Ответ 3
Ответ RobD работает хорошо. Вы можете добавить что-то вроде этого в конец URL-адреса только для получения необходимых данных, экономя некоторую пропускную способность:
& поля = запись (идентификатор, название)
например:
http://gdata.youtube.com/feeds/api/videos?q=h5jKcDH9s64|elzqvWXG1Y&fields=entry(id,title)
Ответ 4
Здесь более ясное объяснение для людей с не PHP
http://oktryitnow.com/?p=83
Ответ 5
Вы можете отправить несколько запросов на данные youtube api, завернутые в один запрос. YouTube позволяет отправлять не более 50 запросов в одном запросе. Этот вид запроса известен как запрос пакетной обработки. Для этой проблемы я разработал рабочую часть кода. Я должен был делать то же самое для веб-сайта, над которым я работал. В любом случае вы можете увидеть, как это сделать здесь (пример кода также присутствует для загрузки): http://www.ovaistariq.net/2010/06/youtube-batch-processing-requests-made-less-costly/