【问题标题】:Read data from Youtube Analytics API without Oauth2无需 Oauth2 从 Youtube Analytics API 读取数据
【发布时间】:2019-09-07 10:57:45
【问题描述】:

我目前正在编写一个 python 脚本来从 YouTube 分析 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 所需要的,只是让您发现无法使用它.

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 你是如何让它工作的?我面临同样的问题。在此之前,我可以使用用户的访问令牌检索数据
    • 我已经要求客户提供他们的客户密码,然后我运行一个脚本来打开 OAuth 2.0 身份验证页面。我将链接发送给他们进行身份验证的页面。在他们进行身份验证后,他们会向我发回一个令牌,我将其粘贴到命令行中并获得身份验证。该脚本包含一个逻辑来存储刷新令牌,因此这个涉及客户端通过浏览器进行身份验证的过程应该只需要一次。
    • 哇。这对我来说很难,因为我可以获得成百上千的用户。谢谢
    【解决方案2】:

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

    http -v 'https://www.googleapis.com/youtube/v3/playlistItems?playlistId={playlistId}&part=id,snippet,contentDetails,status&key={api_key}&max_results=10'
    

    【讨论】:

      猜你喜欢
      • 2014-04-02
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 2022-08-20
      • 1970-01-01
      • 2021-01-09
      相关资源
      最近更新 更多