0

我被这个问题困扰了好几天,希望有人可以帮助我..

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

有没有我可以学习的例子来适用于我的案例?

4

1 回答 1

0

无法理解您想要达到的目标。

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

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

于 2013-11-03T17:01:15.043 回答