Youtube Data API v3:按日期排序不起作用

Posted

技术标签:

【中文标题】Youtube Data API v3:按日期排序不起作用【英文标题】:Youtube Data API v3: Sort by date not working 【发布时间】:2019-08-07 06:26:23 【问题描述】:

几个小时后,排序没有按预期工作。

https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw&key=YOUR_API_KEY

也可以在 API 资源管理器中尝试(不使用 OAuth 执行)。

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?part=snippet&channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw&order=date

日期:资源根据创建日期按时间倒序排列。

https://developers.google.com/youtube/v3/docs/search/list

出了什么问题?

【问题讨论】:

我可以确认我也发现 YouTube API 存在问题,因此它不是特定于您的 API 密钥。对我来说,我看视频的顺序几乎是随机的,显示 5 年前的视频和一个月前的视频。 没错,这目前是我的要求的障碍。 API 一定有问题。 希望它很快会自行解决,我相信它会影响每个使用 YouTube API 的应用程序,这应该有助于引起 YouTube 的注意。 我也希望如此。几个小时后,我可以在没有任何更改的情况下重现它。 我不再认为它们是随机排序的,我相信结果是按评级而不是日期排序的。也许 YouTube 正在试验一种新的排序方法,结果弄乱了 API。 【参考方案1】:

错误报告包括:

https://issuetracker.google.com/issues/128673031

https://issuetracker.google.com/issues/128673552

两者都有来自 Google 的官方评论:

感谢大家提出这个问题。这些特定过滤器目前已在 YouTube.com 和 API 上禁用。我们应该很快就会有更新。再次感谢。

【讨论】:

仍然没有更新。如果他们向我们提供了修复此问题的时间框架就好了。【参考方案2】:

Google 论坛中的报告得到了 Google 员工的评论: https://support.google.com/youtube/thread/2494861?msgid=2520468

YouTube 知道搜索/排序功能未按预期工作 - 这是暂时的,也是我们为更好地响应、审查和从 YouTube 中删除图形、违规内容而做出的努力的一部分。感谢您在我们解决此问题时的耐心等待。当这些功能再次正常工作时将更新此线程,请随时订阅更新。

【讨论】:

【参考方案3】:

如果您想获取频道的最新视频:

从Channels获取频道上传播放列表 从PlaylistItems获取频道上传播放列表中的最新视频

或者,您可以使用频道 RSS 提要:

https://www.youtube.com/feeds/videos.xml?channel_id=ChannelId https://www.youtube.com/feeds/videos.xml?user=User

然而,这并不能取代按日期排序的完整搜索功能。

感谢 YouTube 让我在周日工作,我只想观看我最喜欢的频道的最新视频。至少我不必再等待修复了,祝那些不太幸运的人好运!

【讨论】:

PlaylistItems 如果不需要搜索词和按评级、相关性、标题、videoCount 或 viewCount 排序,则可以使用。就我而言,幸运的是降序排序。我已经更改了我的应用程序。谢谢。 非常感谢您的评论。此方法非常有效,因为 playlistItems.list() 方法恰好按日期降序返回视频,这正是我所需要的。然后我只需使用 nextPageToken 请求更多页面。再次感谢!【参考方案4】:

不确定这有多可信:

只是确认这只是暂时的,并且与 YouTube 为更好地响应、审查和从 YouTube 中删除图形、违规内容所做的努力有关。感谢您在我们解决此问题时的耐心等待。

https://www.reddit.com/r/youtube/comments/b1plj5/sort_by_upload_date_not_working/eiojtjh/

【讨论】:

通过无数应用程序简单地更改 API 是唯一的解决方案。好像并非所有开发人员都为他们的 API 密钥存储了一个可以用来通知他们的电子邮件地址。对我来说这是一个错误。到目前为止,开发团队还没有 cmets。当然,这种“临时”变化必须在周末发生。谢谢 Youtube,我的应用程序已经超过 24 小时没有完全正常运行。我现在应该将所有数据加载到缓存中以对它们进行排序吗?没有。 是的。如果您的应用不依赖于其他数据(例如查看次数或持续时间等),您可以暂时使用 RSS 桥 (bridge.suumitsu.eu) 之类的服务。

以上是关于Youtube Data API v3:按日期排序不起作用的主要内容,如果未能解决你的问题,请参考以下文章

youtube api v3 - 从播放列表中获取视频,其中包含按观看次数排序的观看次数数据

如何使用 youtube api 获取按发布日期排序的播放列表的视频

Youtube Data API按渠道ID获取订户列表

每次使用 YouTube Data API v3 时如何绕过输入验证码来授权我的代码

php Youtube Data API v3

Youtube API v3 data.search 返回相同的值