【问题标题】:YouTube API v3 apiclient.errors.HttpError "No filter selected." - where do I select a filter?YouTube API v3 apiclient.errors.HttpError“未选择过滤器。” - 我在哪里选择过滤器?
【发布时间】:2013-05-20 01:49:36
【问题描述】:

我第一次尝试为 YouTube 设置 Google apiclient,并按照文档进行了测试(没有找到 YouTube API 的具体示例):

import json
from apiclient.discovery import build
service = build('youtube', 'v3', developerKey = 'tralalala')
videos = service.videos()
request = videos.list(part = '7lCDEYXw3mM') # some video id
response = request.execute()
json.dumps(response, sort_keys = True, indent = 4)

我明白了

{
 "error": {
  "errors": [
   {
    "domain": "youtube.parameter",
    "reason": "missingRequiredParameter",
    "message": "No filter selected.",
    "locationType": "parameter",
    "location": ""
   }
  ],
  "code": 400,
  "message": "No filter selected."
 }
}

显然我错过了这个filter,但我似乎无法在文档google-api-client-libraries.appspot.com 的任何地方找到它。我的意图是通过提供其id 来获取视频详细信息。

【问题讨论】:

  • @pypat 确实尝试将 part 的值更改为 'id',但这会产生相同的错误,无论如何谢谢 :)
  • 我认为部分应该是“id”并且您需要提供另一个参数 q="7lCDEYXw3mM"。这只是通过快速阅读文档...希望它有所帮助
  • @pypat 你几乎是对的 :),虽然 q 必须是 id 然后是视频 ID,谢谢!

标签: python youtube-api


【解决方案1】:

您至少需要一个选择器才能列出。 “id”就是其中之一。您可以随时查看YouTube API Samples 项目以供参考。 这是其中一个示例中的Python list usage

【讨论】:

  • 非常感谢这些链接,不知怎的,它们并不像我希望的那样容易被注意到。从开发这些东西的人那里获得帮助总是很高兴:)。一个建议是,appspot.com 上的文档在没有任何突出显示/清晰缩进的情况下很难阅读......否则,继续努力:)
【解决方案2】:

按照@pypat 的建议,我更改了list() 方法的属性

videos = service.videos()
request = videos.list(part = 'id', id = '7lCDEYXw3mM')
response = request.execute()

partid 都需要生成结果。

为了获取给定视频的完整列表或属性,part 属性必须包含属性组列表

request = videos.list(part = 'id, snippet, contentDetails, statistics, status, topicDetails',
                      id = '7lCDEYXw3mM')

【讨论】:

  • 对于那些想知道如何获取 youtube id 视频的人,当您将视频插入(上传)到 youtube 并且成功时,将发送一个回调,其中包含上传的视频的描述。
猜你喜欢
  • 2015-08-03
  • 1970-01-01
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多