我可以从非UI应用程序获得Youtube Reporting API的授权吗?

问题描述 投票:2回答:1

我想定期运行一个应用程序(在AWS Lambda上),该应用程序使用Youtube的reporting API获取报告并将报告存储在数据库中。我是YouTube频道的所有者。

但是,我在设置授权时遇到了问题。该文档提到了OAuth的许多flows。其中,服务帐户流似乎很合适,因为我没有尝试访问任何其他用户的数据,并且我的应用程序没有UI。但是,他们提到“ YouTube报告API和YouTube分析API不支持此流程”。对于其他流程(即服务器端和客户端),看来我需要UI应用程序。

我在本地运行了他们的Java code samples,它打开了浏览器进行授权。

我想知道是否可以在没有UI /浏览器支持的情况下完成授权。这似乎是应该支持的常见用例。

此相关堆栈溢出answer提及“相反,请创建并使用Web客户端google凭据。存储并使用从流生成的令牌。”如果我正确理解这一点,则需要从google dev console生成客户端ID和客户端密钥,然后可能使用oauth playground生成访问令牌。但是,此令牌将在24小时内过期。我可以不断刷新令牌,但这似乎是一种解决方法。

[如果不支持,我正在考虑的替代方法是我的应用程序发送带有auth链接的电子邮件,并在电子邮件收件人打开链接并登录后继续运行。我想知道是否获得该链接可以在Google的oauth库中使用。

注意:我没有使用Google的App Engine或Compute Engine。

youtube-api google-oauth2 google-api-java-client youtube-analytics-api google-oauth-java-client
1个回答
0
投票

YouTube api不支持服务帐户授权。使用脱机访问后,您将需要使用Oauth2授权代码。这将为您提供一个刷新令牌,该令牌可在将来随时用于请求新的访问令牌。

您将需要将此刷新令牌连同代码一起上载到服务器,然后它就可以访问您的数据而无需请求用户的访问。

© www.soinside.com 2019 - 2024. All rights reserved.