YouTube API v3 apiclient.errors.HttpError“未选择过滤器。” - 我在哪里选择过滤器?

时间:2013-05-24 12:47:03

标签: python youtube-api

我首次尝试为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来获取视频详细信息。

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分: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')