1

我目前正在编写一个 python 脚本来从 YouTube Analytics API 中提取信息以获取单独的 YouTube 频道列表。例如,输出将是统计上个月每个 YouTube 频道的视频观看次数。

我最初的想法是要求每个 YouTube 帐户所有者在他们的 console.cloud.google 中创建一个 YouTube 分析应用程序,创建一个项目,启用 YouTube 分析 API,生成一个 API 密钥并指定 YouTube 分析需要它API。

我正在使用一个帐户进行测试,如果我尝试使用通过上述过程生成的 API 密钥运行脚本并像这样进行身份验证:

def get_service():
    return build('youtubeAnalytics', 'v2', developerKey=API_KEY)

它失败了HttpError 401 Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.

我不确定我在创建 API 密钥时是否做错了什么,或者 YouTube 分析 API 是否需要Oauth2 身份验证。如果是后者,那么我很惊讶 google 控制台让您一路生成 API 密钥并指定它们是 YouTube Analytics API 所需要的,只是让您发现无法使用它.

所以我的问题是:我必须为 YouTube Analytics API 使用 Oauth2 还是可以使用 API 密钥?我正在尝试从“我自己的”帐户中读取数据,那么为什么我需要手动授权我自己的应用程序?

4

2 回答 2

5

好的,我发现没有 OAuth 2.0 身份验证就无法使用 YouTube Analytics API。在我看来,Google 文档和 Google 控制台非常令人困惑,因为它们分别允许您创建特定于 YouTube Analytics API 的 API 密钥,并将 API 密钥描述为一种可能的身份验证方式(仅在之后告诉您,所有方法都需要 OAuth2 .0)。

我仍然不清楚如何为命令行 python 脚本设置 YouTube Analytics API 身份验证,该脚本不需要用户在每次脚本运行时手动同意。

我将为此打开一个单独的问题。

于 2019-04-17T10:05:59.727 回答
0

设置key参数。您可以使用 api 密钥读取数据。这很简单。

http -v 'https://www.googleapis.com/youtube/v3/playlistItems?playlistId={playlistId}&part=id,snippet,contentDetails,status&key={api_key}&max_results=10'
于 2021-09-10T09:58:47.703 回答