Python 尝试从 youtube 获取数据时出错 api

Python error trying to get data from youtube api

我有一个问题,我正在尝试 Python 通过 Youtube API 搜索视频,部分代码不起作用。当我尝试获取视频的标签时,出现错误。

到目前为止,我已经使用了 Google "search_by_keyword" 中的示例。 它运作良好。然而,我稍微改变了它。 我想要的是 Python 给我带有该视频中标签的视频 ID。 我尝试调试,通过让它打印 table 的整个 "snippet" 部分,似乎在 "snippet"

中根本找不到 "tags"

只添加了一点代码,其余代码正在查找中。

for search_result in search_response.get("items", []):
 if search_result["id"]["kind"] == "youtube#video":
   videos.append("%s (%s)" % (search_result["snippet"]["tags"],
                              search_result["id"]["videoId"]))
print ("Videos:\n", "\n".join(videos), "\n")

videos.append("%s (%s)" % (search_result["snippet"]["tags"]

我希望它能给我视频的标签,但它只会出现一个回溯错误"keyerror: tags"。

试图让它打印整个 "snippet" 部分,给了我除 "tags" 和 "categoryid"

之外的所有内容

我认为问题归结为: 我在哪里可以找到数据 table 中的 "tags" 元素?

根据 Google 的文档 (https://developers.google.com/youtube/v3/docs/search#resource),从搜索端点获得的 JSON 对象 snippet 没有 tags 成员。因此,获得 KeyError 异常的代码表现出正确的行为。

到达视频资源 (https://developers.google.com/youtube/v3/docs/videos#snippet.tags[]) you have to make a separate API call for each video you're interested in on Videos endpoint (https://developers.google.com/youtube/v3/docs/videos/list) 的 标签 属性。

附录:您可以通过指定这些视频(仅在一次 API 调用中)到参数来减轻对您感兴趣的视频在视频端点上多次调用 API id 作为 video ids (https://developers.google.com/youtube/v3/docs/videos/list#id).

的逗号分隔列表