【问题标题】:Youtube Analytics Offline Access Request when Authenticated as Brand instead of User验证为品牌而不是用户时的 Youtube Analytics 离线访问请求
【发布时间】:2017-09-23 08:14:38
【问题描述】:

Apps Script keeps asking for offline permission with Youtube's API

In Google Apps Script, access to YouTube Reporting API is Forbidden

这些是非常相似的问题,但是,我以所有者身份登录。该脚本在所有者的驱动器中。

我的问题

我一直在尝试使用 GAS(Google Apps 脚本)访问内容所有者的 YouTube 分析报告。有两个帐户,一个品牌帐户(保存数据,即视频内容)和一个用户帐户。他们都使用相同的凭据(电子邮件和密码)。以用户身份授权时,我得到一个 403(禁止)。作为品牌授权时,我被要求一次又一次地授权离线访问,使我无法提出请求。

我尝试过的...

  • 从节点运行,使用 OAUTH Playground 令牌,它可以工作。但我需要坚持使用 GAS。
  • 使用google-script-oauth2: 对凭据进行硬编码(类似于Node 解决方案),但我无法设置刷新令牌。我收到了 401(无效凭据) - 我相信不记名令牌已过期
  • 设置凭据并启用 youtube 和 youtube 分析 API
  • 废弃旧凭据并将新项目附加到 GAS
  • 删除隐私设置中的身份验证并重新进行身份验证
  • 切换使用不安全脚本选项并重复第 3 步
  • 在 ids 参数的 contentOwner 和频道参数之间切换
  • 注意:我有两个 OAUTH2 凭据 app 脚本Web 客户端 都设置为 Web 应用程序。

气体代码

function test(){
   YouTubeAnalytics.Reports.query("contentOwner==id", "2017-03-01", "2017-03-31", "likes");
}

最后的想法

我认为品牌与用户之间存在脱节,因此品牌无法获得对 OAUTH 2 令牌的相同访问权限。因此,它永远不会生成刷新令牌。因此,请求看到我是授权频道所有者,但它无法完成 OAUTH 流程。

如果这是真的,为什么,我该如何解决?如果不是,您认为可能是什么错误?

我刚刚意识到脚本在用户帐户中,而不是品牌帐户中。这会影响验证吗?

同样在实际频道上,用户被列为主要所有者。

【问题讨论】:

  • 它也适用于我的个人帐户——我在几分钟内就设置好了——我真的很茫然。

标签: javascript google-apps-script oauth-2.0 google-oauth youtube-analytics-api


【解决方案1】:

我认为问题与 Apps 脚本的有限 OAuth 范围有关。打开脚本编辑器并导航到 Resources->Advanced Google Services,您会看到 YouTube 的 Reporting API 不受支持。但是,您可以使用服务帐户解决此问题。设置它们很麻烦,但是一旦启动并运行它们,您就可以明确地请求从 GAS 对 API 进行授权调用所需的范围。

以下是一些帮助您入门的链接:

Using OAuth 2.0 for Server to Server Applications

OAuth 2.0 Scopes for Google APIs

对于Using OAuth 2.0 for Server to Server Applications,您需要向下滚动到标题为准备进行授权 API 调用的部分。选择 HTTP/REST 选项卡,它会引导您完成设置服务帐户所需的步骤(您需要创建 JWT - JSON W eb T从您的 Google 控制台中获取,以便在您的 API 调用中使用)。您还需要从提供的第二个链接中检索 YouTube 报告 API 所需的 OAuth 范围 URL。完成所有设置后,您就可以使用 URLFetchApp 直接从 Apps 脚本向 API 发出请求。祝你的项目好运。

还有一件事。查看 Google's API Explorer listing 获取 YouTube 报告 API。您可以通过使用 Explorer 来获取您需要在 UrlFetchApp 调用中使用的 URL 端点(和请求方法)。


2017 年 4 月 28 日更新

另外,请务必从您的 Google API Console 启用 YouTube Reporting API。

【讨论】:

    猜你喜欢
    • 2015-11-14
    • 2017-10-17
    • 2017-09-24
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多