Youtube API V3,搜索,发布之后,无效搜索过滤器



我只是想在 youtube 上搜索我自己的视频,该视频在 X 日期之后发布

但是,当我使用publishAfter参数时,即使我将type参数设置为video,它也会产生invalidSearchFilter错误。

错误描述是这样的:

请求包含无效的搜索筛选器和/或限制组合。请注意,如果将forContentOwnerforMine参数设置为 true,则必须将 type 参数设置为 video 。如果为eventTypevideoCaptionvideoCategoryIdvideoDefinitionvideoDimensionvideoDurationvideoEmbeddablevideoLicensevideoSyndicatedvideoType参数设置值,则还必须将type参数设置为 video

您可以从以下位置重现此错误: https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?part=snippet&forMine=true&publishedAfter=1970-01-01T00%253A00%253A00Z&type=video&_h=11&(通过OAuth 2.0登录后)

知道在这种情况下我能做什么吗?

我使用了您提供的链接。问题不在于日期。问题在于您使用的搜索限制冲突。要使您的搜索正常工作,请将"forMine"参数留空,这样它就不会与您的日期过滤器冲突,也可能与"q"参数冲突。这样做,它将起作用。

此外,您必须指定通道 ID 以指定它是您的。试一试

我正在尝试执行一项任务以从我们自己的频道中检索所有视频,我使用forMine过滤器的问题是,我将过滤器与过滤器一起传递channelId过滤器forMine(这实际上没有意义,如果我说要获取自己的数据,那么我不应该显式传递频道 ID, 所以我为此责怪自己),这是一个错误,说Request contains an invalid argument.

这是我在导致错误时的请求:

curl --location -g --request GET 'https://youtube.googleapis.com/youtube/v3/search?part=snippet,id&channelId=[Channel ID]&forMine=true&order=date&type=video&key=[API KEY]&maxResults=25' 
--header 'Authorization: Bearer [ACCESS TOKEN]' 
--header 'Accept: application/json'

这是 JSON 返回:

{
    "error": {
        "code": 400,
        "message": "Request contains an invalid argument.",
        "errors": [
            {
                "message": "Request contains an invalid argument.",
                "domain": "global",
                "reason": "badRequest"
            }
        ],
        "status": "INVALID_ARGUMENT"
    }
}

一旦我删除了channelId查询参数,错误就消失了。

相关内容

  • 没有找到相关文章

最新更新