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