gpt4 book ai didi

java - 如何使用 java gdata 客户端从 YouTube channel 检索视频

转载 作者:行者123 更新时间:2023-11-30 09:30:45 25 4
gpt4 key购买 nike

我正在使用 java google gdata 客户端 api 来检索到目前为止工作正常的 youtube 视频。但是今天我遇到了一个问题。我正在尝试接收来自 channel 的视频,但没有收到任何结果。我试图查找视频的 channel 的(示例)网址: http://www.youtube.com/channel/HCrrUf3dKG1Gw

我尝试将 YouTubeQuery setAuthor 方法与“HCrrUf3dKG1Gw”(无论 setPartner 是假还是真)和 setFullTextQuery“PERSONA 4”一起使用 -> 没有结果

从包含“用户”的 url 获取视频可以很好地在查询中设置作者。

这就是我使用的代码(稍作修改):

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()

有人知道我在这里缺少什么吗? channel 的处理方式是否与用户不同?

最佳答案

先解决 HTTP URL,再考虑 java API。

当URL以“videos”结尾时,可以在“?”后添加查询参数:

http://gdata.youtube.com/feeds/api/videos?q=puppy&safeSearch=none&orderby=viewCount

当 URL 以“channels”/channelID 结尾时,您不能。

在您的 channel 页面上 http://www.youtube.com/channel/HCrrUf3dKG1Gw在“搜索 channel ”框中输入“MODOK”并进行搜索。结果页面是
http://www.youtube.com/channel/HCrrUf3dKG1Gw/videos?query=MODOK

即在添加查询参数之前,基于 channel 的 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");

关于java - 如何使用 java gdata 客户端从 YouTube channel 检索视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13135669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com