我被这个问题困扰了好几天,希望有人可以帮助我..
这是我的用例:我的应用程序的不同用户可以向 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!
有没有我可以学习的例子来适用于我的案例?