2013-06-07 1 views
22

私はGoogleの検索に加えて、APIここでグーグルプラスAPI: "insufficientPermissions" エラー

としていますが、私のURLです: https://www.googleapis.com/plus/v1/activities?query=internet%20marketing&access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ここでは、応答である:ここでは

{ 
    "error": { 
    "errors": [ 
     { 
     "domain": "global", 
     "reason": "insufficientPermissions", 
     "message": "Insufficient Permission" 
     } 
    ], 
    "code": 403, 
    "message": "Insufficient Permission" 
    } 
} 

は私のAPI CONSOLEです画面http://i.stack.imgur.com/jO27J.png

誰でも私のアプリケーションのセットアップに必要なアクセス許可を、api consoleで誰かに伝えることができます。 ?

答えて

58

これは、プロジェクトトークンには問題がありますが、プロジェクト構成では発生しません。

アクセストークンを取得したときに必要なスコープを要求していない場合、アクセス許可不足エラーが返されます。推測では、あなたがたGoogle+ APIとYouTubeのAPIを使用しているので、あなたは両方だけYouTubeの範囲を要求していない可能性があり、すなわち:

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

だけではなく:

あなたは両方を要求しているチェック最初の1つ。

あなたはこのエンドポイントへのあなたのaccess_tokenはを渡すことによって要求されているスコープをどの確認することができます。

https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ACCESS_TOKEN

それは1時間後(アクセストークンの有効期限が切れる期限が切れたので、私はあなたの例では、トークンをチェックすることはできません)。また、アクセストークンを公開しないでください。他の人があなたのデータにアクセスすることを許可するので、秘密にして慎重に扱うべきです。

なお、https://www.googleapis.com/plus/v1/activities?query=QUERYは認証されていないため、アクセストークンではなくプロジェクトのAPIキーを渡すことができます。 https://www.googleapis.com/plus/v1/activities?query=QUERY&key=API-KEYで電話をかけた場合、スコープをリクエストする必要はなく、アクセストークンをまったくフェッチする必要もありません。

あなたはすでにそれを見ていない場合は、APIを使用して、OAuth 2.0の遊び場にしたいと思い呼び出しを試してみることができます。

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

何動作し、何を参照するには良い場所ですしません。

+0

@Lee非常に有益で有益な[リンク](https://developers.google.com/oauthplayground/)。 – SIFE

+0

イエス・キリスト!私がこれで失った時間は...ありがとう! –

+0

私の場合は、私が探していたCODEスコープに問題がありました。このコメントが他の誰かを助けることができる場合に備えて。 –

1

JavaScriptの

var OAUTH2_SCOPES = [ 
    'https://www.googleapis.com/auth/youtube', 
    https://www.googleapis.com/auth/plus.login 
]; 

検索するYouTube APIのntsはhttps://www.googleapis.com/auth/plus.loginをOAUTH2_SCOPESの配列に追加します