【发布时间】:2017-11-27 14:06:16
【问题描述】:
我正在尝试使用 yt gem 访问 youtube API,但我遇到了问题。
我添加了宝石:gem 'yt', '~> 0.28.0'
在 application.rb 中添加配置
Yt.configure do |config|
config.client_id = '263440616399-n3ksvskq6oo843sgg0uddq14isvkon8m.apps.googleusercontent.com'
config.client_secret = 't3lHoxu5YgwwD0pyYZXfUPMw'
config.api_key = 'AIzaSyCvrisogh8SG-zKizLQxiCeUv403jOdov0'
end
我正在 Rails 控制台上尝试这条线:
account = Yt::Account.new access_token: 'ya29.GlsRBTrtujRlfReAsdIy6kNRE4ypzq2CTmGrz2vcvlrbNavef0qffPp0piara1X7aXcjZv2F79lBLO_D7DRoW0gnvqK0yTM8UOQC7pyaTyjoYaLBmTeUmIbm8xsOAgm'
它正在返回帐户对象:
#<Yt::Models::Account:0x000000046aabe0 @access_token="ya29.GlsRBTrtujRlfReAsdIvcy6kNRE4ypzq2CTmGrz2lrbNavef0qEyPp0piara1X7aXcjZv2F79lBLO_D7DRoW0gnvqK0yTM8UOQC7pyaTyjoYaLBmTeUmIbm8xsOAgm", @refresh_token=nil, @device_code=nil, @expires_at=nil, @authorization_code=nil, @redirect_uri=nil, @force=nil, @scopes=nil, @authentication=nil>
之后,我尝试访问 account.email 但出现错误:
Yt::Errors::Forbidden: {"request_curl":"curl -X GET -H \"content-length: 0\" -H \"user-agent: Yt::Request (gzip)\" -H \"authorization: Bearer ya29.GlsRBTrtujRlfReAsdIy6kNRE4ypzqvc2CTmGrz2lrbNavef0qEyPp0piara1X7aXcjZv2F79lBLO_D7DRoW0gnvqK0yTM8UOQC7pyaTyjoYaLBmTeUmIbm8xsOAgm\" -H \"host: www.googleapis.com\" \"https://www.googleapis.com/oauth2/v2/userinfo?key=AIzaSyCvriso2u8SG-zKizLQxiCeUv403jOdov0\"","response_body":{"error":{"errors":[{"domain":"global","reason":"insufficientPermissions","message":"Insufficient Permission"}],"code":403,"message":"Insufficient Permission"}}}
使用 Rails 4.2.8、Ruby 2.2.2
任何帮助和建议都将受到强烈而真诚的感谢。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 rubygems youtube-api