【发布时间】: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