YouTube ClientLogin替代特殊用例/上传到多个用户帐户

时间:2013-11-02 06:07:40

标签: upload youtube youtube-api google-api

我已经坚持这个问题好几天了,希望那里有人可以帮助我..

这是我的用例: 我的应用的不同用户可以向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!

有什么例子我可以学习申请我的案子吗?

1 个答案:

答案 0 :(得分:0)

你想要达到的目标是不可理解的。

如果只是您希望人们上传到他们的帐户。 OAuth2会这样做。 (无论如何,YouTube API都不支持服务帐户。)

如果您希望用户在您的帐户中上传,那么YouTube Direct Lite就可以了。