2013-04-30 3 views
4

Я разрабатываю простое видео-приложение, которое будет запускать намерение для получения нового обновления видео с определенного канала, используя Youtube Api V3.API-интерфейс Youtube не возвращает обновленные результаты

search.setKey(Constant.DEVELOPER_KEY); 
search.setChannelId(channelID); 
search.setOrder("date"); 
search.setPublishedAfter(new DateTime(yesterday)); 
search.setType("video"); 
search.setFields("items(id/kind,id/videoId,snippet/title,snippet/publishedAt)"); 
search.setMaxResults((long) 50); 
SearchListResponse searchResponse = search.execute(); 

List<SearchResult> searchResultList = searchResponse.getItems(); 

Проблема: возвращает мне список не откорректированных результатов.

Пример в URL: https://www.googleapis.com/youtube/v3/search?part=snippet&order=date&type=video&channelId=UC52X5wxOL_s5yw0dQk7NtgA&key=your_api_key&maxResults=50

Описание проблемы:

  1. В течение нескольких дней мониторинга это поведение, я обнаружил, что, во-первых, всегда есть некоторые другие видео, которые я мог бы найти в этом канале, перейдя на сайт Youtube. И видео просто нужно как 30 или 60 минут, чтобы быть в моих результатах поиска.

  2. Хорошо, что задержка на самом деле прекрасна для меня, что я не понимаю, когда-то говорят, что есть видео 1, видео 2 и видео 3, где 1 загружается до 2, а 2 загружается до 3. Таким образом, в приведенном выше случае я ожидал бы результата (в URL, который я указал для упорядочения по дате desc) 3-2-1, или 2-1, или только 1. Но то, что я получаю, странно, 3-1. 2 поступит позже, возможно, через полчаса. Я имею в виду, что если задержка является проблемой, по крайней мере, она должна появиться в списке с надлежащим порядком?

Ожидаемое решение: Чтобы иметь результатом поиска, которые будут упорядочены по дате точно, так что всякий раз, когда я пытаюсь повторный запрос видео, я просто должен получить то, что публикуется после моего последнего видео извлекаться. Не так, как в моем примере получить все со вчерашнего дня.

Благодарим вас за внимание, я действительно ищу решение.

+0

Для тех, кому необходим скриншот о том, что произошло, любезно обратитесь к разделу комментариев по ответу Ахмеда. –

ответ

0

Итак, во-первых, V3 API в настоящее время является экспериментальным, и я бы не рекомендовал его использовать, пока он не был подписан, а что нет.

Во-вторых, я никогда не являюсь поклонником клиентских библиотек и предпочитаю делать вызовы API напрямую, таким образом вы можете убедиться, что вызов выполняется так, как вы хотите. Например, вот простой вызов для извлечения видео с моего канала, в порядке их публикации: http://gdata.youtube.com/feeds/api/videos?orderby=published&author=ahmednuaman

Я бы рекомендовал использовать этот метод на данный момент и взглянуть на интерактивную демонстрацию API (http://gdata.youtube.com/demo/index.html), чтобы заварить ваш звонок и подтвердить, что тесты возвращают нужные вам данные.

+0

Благодарим вас за ответ, но при первой попытке попробовать этот API я все равно получаю неверный результат. Это то, что я вижу на YouTube http://i.imgur.com/KAfxP3l.png, и вот что я имею в API http://i.imgur.com/dHG5gEP.png. Как вы можете видеть, мой первый результат фактически указывает на второе видео на канале. Это вызов API, который я сделал http://gdata.youtube.com/feeds/api/videos?orderby=published&author=AssociatedPress –

+0

А это может быть случай ограничений относительно распространения видео: http: // apiblog. youtube.com/2011/12/understanding-playback-restrictions.html?m=1 –

+0

Не совсем, поскольку вы можете видеть, что я контролировал, также я упомянул, что я использовал прямой вызов API, если вы этого не заметили. В конечном итоге это видео будет включено в список результатов. То же самое касается вашего примера вызова API, ранее исключенного видео, теперь включено –

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

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