web-dev-qa-db-ja.com

google plus api:「insufficientPermissions」エラー

私はAPIでグーグルプラスを検索しています

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コンソール画面があります http://i.stack.imgur.com/jO27J.png

誰でもAPIコンソールでアプリのセットアップに必要な許可を伝えることができます。 ?

28
butanijayanti

これは、プロジェクトの構成ではなく、アクセストークンの問題です。

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

両方をリクエストしたことを確認してください:

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

そして最初のものだけではありません。

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 で呼び出しを行う場合、スコープを要求したりアクセスを取得したりする必要はありません。トークン。

まだ見たことがない場合は、OAuth 2.0 Playground :)で行いたいAPI呼び出しを試すことができます。

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

それは何が機能し、何が機能しないかを見るのに良い場所です。

68
Lee

@Leeの回答によると、Google V3 OAuth AccessToken検証エンドポイントは次のとおりです。

https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=<access_token>

以下のGoogleドキュメントを参照できます:(OAUTH 2.0 ENDPOINTSタブ内)

https://developers.google.com/identity/protocols/OAuth2UserAgent#validate-access-token

1
Nick Tsai

JavaScript

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

youTube APIからコメントを取得するには、 https://www.googleapis.com/auth/plus.login これをOAUTH2_SCOPES配列に追加します

1
D V Yogesh