【发布时间】:2020-09-15 05:49:48
【问题描述】:
我想定期运行一个应用程序(在 AWS Lambda 上),它使用 Youtube 的 reporting API 获取报告并将报告存储在数据库中。我是 Youtube 频道的所有者。
但是,我在设置授权时遇到了问题。文档提到了许多用于 OAuth 的 flows。其中,服务帐户流程似乎很适合这里,因为我没有尝试访问任何其他用户的数据,而且我的应用程序没有 UI。但是,他们提到“YouTube Reporting API 和 YouTube Analytics API 不支持此流程”。对于其他流程,即服务器端和客户端,看起来我需要一个 UI 应用程序。
我在本地运行了他们的Java code samples,它打开了浏览器进行授权。
我想知道是否可以在没有 UI/浏览器支持的情况下完成授权。这似乎是一个应该支持的常见用例。
这个相关的堆栈溢出answer 提到“相反,创建和使用网络客户端谷歌凭据。存储和使用从流程生成的令牌。”。如果我理解正确,我需要从 google dev console 生成客户端 ID 和客户端密码,然后可能使用 oauth playground 生成访问令牌。但是,此令牌将在 24 小时内过期。我可以继续刷新令牌,但这似乎是一种解决方法。
如果它不受支持,我正在考虑的另一种方法是我的应用程序发送一封带有身份验证链接的电子邮件,并在电子邮件收件人打开链接并登录后继续运行。我想知道是否获得该链接谷歌的oauth库是可行的。
注意:我没有使用 Google 的 App Engine 或 Compute Engine。
【问题讨论】:
标签: java google-oauth google-api-java-client service-accounts youtube-analytics-api