在没有Oauth2的情况下从Youtube Analytics API读取数据

时间:2019-04-17 08:42:54

标签: youtube youtube-api google-authentication youtube-analytics-api youtube-analytics

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

我最初的想法是要求每个YouTube帐户所有者在其console.cloud.google中创建一个YouTube Analytics(分析)应用,创建一个项目,启用youTube Analytics API,生成一个API密钥,并指定该密钥对于YouTube Analytics 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 Analytics API 需要 Oauth2身份验证。如果是后者,那么让我感到惊讶的是,Google控制台可以让您一直进行并生成API密钥,并指定YouTube Analytics(分析)API所需的API密钥,只是让您发现自己无法使用它

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

1 个答案:

答案 0 :(得分:1)

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

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

我将为此另提一个问题。