我首次尝试为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
来获取视频详细信息。
答案 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()
生成结果需要part
和id
。
为了获取给定视频的完整列表或属性,属性part
必须包含属性组列表
request = videos.list(part = 'id, snippet, contentDetails, statistics, status, topicDetails',
id = '7lCDEYXw3mM')