当前位置: 首页 > 知识库问答 >
问题:

YouTubeAPI 3获取最新视频

都博裕
2023-03-14

所以我试图从用户上传的视频中抓取10个最新视频。

现在唯一的问题是,播放列表请求中唯一可见的日期是已发布的,这是视频上传的日期 - 而不是公开的日期,这会产生巨大的差异。

我注意到我可以通过视频请求获取正确的日期,但它似乎不是最好的地方。

让我给你看一个我正在处理的例子。

我们走Maroon5频道吧。

forUserName: Maroon5VEVO

获取 https://www.googleapis.com/youtube/v3/channels?part=contentDetails

https://developers . Google . com/YouTube/v3/docs/channels/list # try-it

以下是我们抓住的地方:

uploads id:uun 1 hnucco 4 FD 5 wfm 7 ith xaw

所以我们可以查询:

去找https://www.googleapis.com/youtube/v3/playlistItems?part =片段

https://developers.html" target="_blank">google.com/youtube/v3/docs/playlistItems/list#try-it

然后我们可以看一些视频。

我们来拿最新的。对我来说是这样的:

“标题”:“魔力红——这个夏天会像...(Explicit)"," videoId": "Wa64gOwuIyE "

最重要的是:

“发布日期”:“2015-06-01T17:41:58.000Z”,

现在,让我们通过运行以下查询来获取此视频的更多细节:

去找https://www.googleapis.com/youtube/v3/videos?part=snippet

https://developers.google.com/youtube/v3/docs/videos/list#try-它

在这里,我们得到了更详细的视图,日期…不同!

" publishedAt ":" 2015-06-01t 20:00:01.000 z ",

这意味着播放列表中的发布日期实际上是上传的日期 - 而不是视频公开的日期。

在我们的10个最新项目列表中,我们想要的是最新发布的视频,而不是最新上传的视频。

如果你知道如何接近它,请分享。

以下是我目前的片段(使用错误的发布日期)

 $.get(
        "https://www.googleapis.com/youtube/v3/playlistItems",{
        part : 'snippet',
        maxResults : 10,
        playlistId : UPLOADS_PID,
        key: YOUR_API_KEY},
        function(data) {

            $.each( data.items, function(i, item ) {                

                (...)

            });
        }
    );

共有1个答案

戚令秋
2023-03-14

我相信您可以使用 /searchendpoint。当您想从用户上传中获取10个最新视频时,您可以使用频道ID而不是播放列表ID。

请求:

GET https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={CHANNEL_ID}&maxResults=10&order=date&type=video&key={YOUR_API_KEY}
 类似资料:
  • 问题内容: 在下表中,如何仅根据登录列获取的 最新记录 ,而不是所有3条记录? 问题答案: 使用按ID分组的汇总。这将列出每个最新的。 要获取完整的单个记录,请对仅返回每个ID 的子查询执行。

  • 问题内容: 尝试创建一个简单的插件,该插件仅连接到ftp站点,查找最新文件,然后下载。但是,它没有获取最新文件。 我正在使用org.apache.commons.net.ftp.ftpclient进行所有操作。 这是我的代码 它获取文件列表,然后返回文件,它不是最新文件。还有其他方法可以使用FTPClient比较文件修改日期,或者有人可以向我指出我做错了什么。谢谢。 问题答案: 我将创建一个比较器

  • 问题内容: 我有三个表: 我需要获取每次测量的最新事件(过去的事件)及其相关的eventvalues数据。 我当前的查询很丑陋: 而且只允许我从表格中选择一列(我需要更多) 有什么方法可以使用联接来完成此操作吗? 编辑 :即使它们在第一个事件之前,我也需要从测量表中选择所有条目(即,为连接选择空数据) 问题答案: 您可以使用CROSS APPLY。

  • 任何想法都是高度赞赏的。 最好,丹尼尔

  • 问题内容: 我正在尝试保存构建工件,并通过Jenkins Artifactory插件的上载/下载规范部分将其拉入新的构建。 有没有办法抓住“最新的”构建工件? 我在Artifactory文件规范文档中看到,下载规范中应该有一个“ build”元素,我可以在其中指定“ LATEST”,但这不起作用,只是说“ LATEST”未找到。也许我一开始没有正确地将我的作品发布到Artifactory? 根据这

  • 问题内容: 假设我们有以下定义的Django ORM模型: 我想获取每种语言的最新聚会。 看来您可以使用Django Aggregates简化 查找过程: 在我看来,这应该获取每种语言的“最新”聚会。但是事实并非如此: 我希望能得到两个最新的Python和Node见面会! 如何构造仅获取每种语言的最新聚会的查询? PS。 我正在使用MySQL作为后端。 问题答案: 将您的条款放在之前。 从聚合文档