【问题标题】:Youtube API v3 Search with PublishedAfter Tag with ForMine=trueYoutube API v3 搜索,带有 ForMine=true 的 PublishedAfter 标签
【发布时间】:2019-04-10 03:15:08
【问题描述】:

目前,我正在开展一个项目,该项目需要为 Oauth 2 登录用户返回未列出的视频。因为我想获取未列出的视频,所以我必须使用 ForMine 变量。所以我得到的是

https://content.googleapis.com/youtube/v3/search?part=snippet&maxResults=5&forMine=true&type=video&order=date

它工作正常。 但是,我想做一个增量加载。这需要仅在特定时间后发布视频。一旦我添加了 Published After 参数“publishedAfter=1970-01-01T00%3A00%3A00Z”,使用此 url https://www.googleapis.com/youtube/v3/search?part=snippet&forMine=true&maxResults=25&order=date&publishedAfter=1970-01-01T00%3A00%3A00Z&type=video,API 将返回错误

“请求包含无效的搜索过滤器和/或限制组合。请注意,如果您将forContentOwnerforMine 参数设置为true,则必须将type 参数设置为video。如果为 eventTypevideoCaptionvideoCategoryIdvideoDefinitionvideoDimensionvideoDurationvideoLicense、@987654 设置值,还必须将 type 参数设置为 video @、videoSyndicatedvideoType 参数。”

我从这里Youtube API V3, search , publishedAfter, invalidSearchFilter 读到它,看起来 ForMine 和 PublishedAfter 不能一起工作。不过,这正是我所需要的。

这是一个错误还是故意设计?有没有解决这个问题>

【问题讨论】:

  • 当您尝试更改为type = "video" 时,您遇到了什么错误?你也检查过this SO post吗?
  • @MαπμQμαπkγVπ.0 Type='video' 当我在查询中输入“forMine”时是必需的。对我来说,这看起来像是 Google 为意外参数设置的一般错误消息,而不是真正的错误。

标签: youtube-api youtube-data-api


【解决方案1】:

我可以向您确认,通过以下解决方法可以列出您的 YouTube 频道中未列出的视频。获得它们后,您可以按照指定的日期对它们进行排序。要从您的 YouTube 频道中检索未列出的视频,您只需按照以下步骤使用 OAuth 访问权限而不是 API 密钥

我建议您使用 this approach 检索给定 YouTube 频道的所有 YouTube 视频。该方法包括在part 中使用Channels: listcontentDetails 获取YouTube 频道的uploads 自动创建的播放列表ID,然后使用PlaylistItems: list 检索上传到此YouTube 频道的所有公共视频。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2016-02-04
    • 2013-05-16
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多