如何使用Java Gdata客户端从YouTube频道检索视频



im使用Java Google gdata客户端API检索迄今为止正常运行良好的YouTube视频。但是今天我遇到了一个问题。我试图从频道接收视频,但没有得到结果。频道IM的(示例)URL试图查找视频:http://www.youtube.com/channel/hcrruf3dkg1gw

我尝试使用" hcrruf3dkg1gw"使用youtubequery setAuthor方法(无论setPartner是false还是true)和setfulltextquery" persona 4" -> no Resulte

从包含"用户"的URL中获取视频,可以在查询中设置作者。

那是代码IM使用的(稍作修改):

YouTubeService service = new YouTubeService(<clientId>)
service.setConnectTimeout(2000)
YouTubeQuery query = new YouTubeQuery(new URL(<url>)
query.setOrderBy(YouTubeQuery.OrderBy.RELEVANCE)
query.setTime(Time.ALL_TIME)
query.setFullTextQuery(<query>)
query.setSafeSearch(YouTubeQuery.SafeSearch.NONE)
query.setMaxResults(50)
if (isPartner) {
   query.setUploader(Uploader.PARTNER)
}
if (author) {
   query.setAuthor(<author>)
}
VideoFeed videoFeed = service.query(query, VideoFeed.class)
List<VideoEntry> videos = videoFeed.getEntries()

有人知道我在这里缺少什么吗?通道是否与用户不同?

首先在http url中求解,然后考虑java api。

当URL以"视频"结尾时,可以在"?"之后添加查询参数:

http://gdata.youtube.com/feeds/api/videos?q=puppy&amp;safesearch = none&amp; ordordby = viewcount

>

当URL以"频道"/ChannelID结束时,您不能。

在您的频道页面上http://www.youtube.com/channel/hcrruf3dkg1gw type" modok"键入"搜索频道"框&amp;搜索。结果页面是
http://www.youtube.com/channel/hcrruf3dkg1gw/videos?query=modok

即。在添加查询参数之前,基于频道的URL必须看起来像:

http://www.youtube.com/channel/hcrruf3dkg1gw/videos。

Java API生成HTTP URL并通过基于HTTP的插座发送它们 - 与上述相同。

解决方案:

 YouTubeQuery query = 
 new YouTubeQuery(new URL("http://www.youtube.com/channel/HCrrUf3dKG1Gw/videos");

我面临同样的问题。URL是错误的。在gdata库中,称此为

https://GDATA.youtube.com/feeds/api/channels

如果使用Data API 2.0。

,必须用于通道查询

https://GDATA.youtube.com/feeds/api/videos

用于视频查询。

如果数据API 3.0

https://www.googleapis.com/youtube/v3/channels
https://www.googleapis.com/youtube/v3/videos
https://developers.google.com/youtube/v3/docs/channels/list

尝试此示例https://developers.google.com/youtube/v3/code_samples/java#retrieve_my_uploads

相关内容

  • 没有找到相关文章

最新更新