2017-11-27 5 views
0

금지. 내가 추가 한 보석 :어떻게 제대로 YT 보석을 구성? YT :: 오류 :: 나는 유튜브 API에 액세스 할 수 YT 보석을 사용하려고하지만 난 문제가 있습니다

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> 
내가 레일 콘솔이 줄을 시도하고 application.rb

Yt.configure do |config| 
    config.client_id = '263440616399-n3ksvskq6oo843sgg0uddq14isvkon8m.apps.googleusercontent.com' 
    config.client_secret = 't3lHoxu5YgwwD0pyYZXfUPMw' 
    config.api_key = 'AIzaSyCvrisogh8SG-zKizLQxiCeUv403jOdov0' 
end 

에서 gem 'yt', '~> 0.28.0'

추가 구성 그 후

, 나는 accoun에 액세스하려고 t.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"}}} 

사용 레일 4.2.8, 루비 2.2.2

어떤 도움, 제안 강하게 진심으로 감사하겠습니다. 당신이 당신의 액세스 토큰을 검색 할 때 필요한 범위를 요청하지 않은 경우

답변

0

불충분 한 권한 오류가 반환됩니다.

account = Yt::Account.new(scopes: ["https://www.googleapis.com/auth/youtube, https://www.googleapis.com/auth/plus.login"], redirect_uri: 'YOUR REDIRECT URL').authentication_url 

사용 : 당신은 당신이 당신의 웹 응용 프로그램에서 아래에 생성 된 URL에 대한 요청을 할 수있는 YT 보석을 사용하여

https://www.googleapis.com/auth/youtube

https://www.googleapis.com/auth/plus.login

필요한 정보를 얻기 위해 다음과 같은 두 가지 범위를 요청해야 리디렉션 URL에 대한 요청에 따라 수신 된 코드 매개 변수는 인증 및 계정 초기화 :

account = Yt::Account.new authorization_code: 'code', redirect_uri:redirect_uri 

account.email #=> (retrieves the account’s e-mail address) 

심지어 당신이 시도 할 수있는 API는 엄마 싶습니다 호출을 1 단계에서 위의 범위를 지정하여 OAuth 2.0 운동장에서 다음을 수행합니다.

https://developers.google.com/oauthplayground/

관련 문제