我已经坚持这个问题好几天了,希望那里有人可以帮助我..
这是我的用例: 我的应用的不同用户可以向YouTube提供用户名/密码,以便他们可以使用我的应用将视频上传到他们的YouTube帐户。我使用了ClientLogin并且它一直运行良好,但它现在已被弃用,我找不到替代方案。我尝试使用服务帐户oauth2,但由于我的网站上有多个用户,所以它并不相似。
我的一个想法是让他们使用他们的用户名/密码登录一次并保存访问代码和刷新代码,然后每次我的应用程序向google / youtube api请求时刷新它。但是由于错误很复杂,我无法让它发挥作用。
Google::APIClient.logger.level = Logger::DEBUG
client = Google::APIClient.new(
:application_name => 'YouTube Hook',
:application_version => '1.0.0')
key = Google::APIClient::KeyUtils.load_from_pkcs12(key_file, key_secret)
client.authorization = Signet::OAuth2::Client.new(
:authorization_uri => "https://accounts.google.com/o/oauth2/auth",
:token_credential_uri => 'https://accounts.google.com/o/oauth2/token',
:audience => 'https://accounts.google.com/o/oauth2/token',
:scope => 'https://www.googleapis.com/auth/youtube.upload',
:issuer => service_account_email,
:signing_key => key)
client.authorization.fetch_access_token!
有什么例子我可以学习申请我的案子吗?
答案 0 :(得分:0)
你想要达到的目标是不可理解的。
如果只是您希望人们上传到他们的帐户。 OAuth2会这样做。 (无论如何,YouTube API都不支持服务帐户。)
如果您希望用户在您的帐户中上传,那么YouTube Direct Lite就可以了。