2013-06-06 9 views
20

Iは、({ID}は、WebインターフェイスからのIDで置き換えると)、次のURLにGET要求をやっている:GoogleカレンダーAPI(oauth2)が「不十分な権限」で応答しているのはなぜですか?

https://www.googleapis.com/calendar/v3/calendars/{id} 

数アサーション:

  1. 承認ヘッダーであります正しく

  2. (トークンが解析API用正常に動作します)有効なアクセストークンを使用して設定されている私は、正しく表示され、のOAuth2のために、以下の範囲を設定しました:

    https://www.googleapis.com/auth/calendar 
    
  3. トークンの有効期限が切れていません。アナリティクスAPIで動作します。

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

答えて

19

修正するには、アプリへのアクセスをhttps://accounts.google.com/IssuedAuthSubTokensに取り消してから再試行しました。 APIに正しくアクセスします。

スコープがリストにあり、スコープがGoogleのOAuth2許可ページに表示されているにもかかわらず、追加のスコープは認められませんでした。

+0

こんにちはrob: 私はアクセスを取り消しました:)そして、私はそれをどのように承認できますか? :) 申し訳ありません。ありがとうございました:) – whitesiroi

+1

ほぼ2年後、これは設定エラーを除外したときに動作します。 @whitesiroiおそらくあなたはそれを理解したことがありますが、後世のために: – user1870776

+0

あなたはアプリの認証ページで通常どおり再認証します。 Rails、Devise(_for:users)とgoogle_oauth2の開発では、それはあなたのuser_omniauth_authorize_pathです。 – user1870776

5

私は範囲が含まれてダブルチェックします - 私は間違ったスコープを要求してきたとき、私はその正確なメッセージを見てきました。訪問するのはhttps://www.googleapis.com/oauth2/v1/tokeninfo?access_token=xxxxxxです。

チェックアウトすると仮定すると、アクセストークンを持っているユーザーに、アクセスしようとしているカレンダーを表示する権限があることを確認します。 「ギア」アイコン - >「設定」 - >「カレンダー」 - >(カレンダーを選択) - >「このカレンダーを共有する」

+0

多くのおかげで、私はtokeninfo呼び出しを使用していた問題を発見しました。 –

+0

はい、それは助けになりました!ありがとうございました! –

4

私はカレンダーにアクセスするsufficent権限を持っているためにグーグルプラススコープを含める必要がありました

https://www.googleapis.com/auth/calendar 
https://www.googleapis.com/auth/calendar.readonly 
+0

は1つしか選択できません。 –

1

カレンダーvisit calendar apiのためのスコープを追加し、アクセスの設定を確認しますので、

を私scopeは、のように見えることになりましたこの:私はpermissiを削除しなければならなかった

'https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/plus.login'

+0

「https://www.googleapis.com/auth/plus.login」を追加してくれました!ありがとう – andr3s2

関連する問題