Pourquoi Google Calendar API (oauth2) de répondre avec un manque de Permission"?
Je suis en train de faire une requête get à l'URL suivante (avec {id} remplacé par l'id de l'interface web):
https://www.googleapis.com/calendar/v3/calendars/{id}
Quelques affirmations:
-
L'Autoriser en-tête est correctement réglé avec un jeton d'accès valide (le jeton fonctionne très bien pour l'Analytics API)
-
Je l'ai fixé les objectifs suivants pour oauth2, qui s'affiche correctement:
https://www.googleapis.com/auth/calendar
-
Le jeton ne semble pas avoir de fin; il travaille pour l'Analytics API.
{ "error": { "errors": [ { "domain": "global", "reason": "insufficientPermissions", "message": "Insufficient Permission" } ], "code": 403, "message": "Insufficient Permission" } }
Vous devez vous connecter pour publier un commentaire.
De correction, j'ai révoqué l'accès à l'application à https://accounts.google.com/IssuedAuthSubTokens et de tentative d'appel à l'issue de laquelle j'ai pu accéder à l'API correctement.
Malgré le fait d'avoir le champ dans la liste, et la portée montrer sur Google OAuth2 subvention page, l'augmentation de la portée n'était pas accordée.
Je double-vérifier que le champ est inclus - j'ai vu que le message exact, quand j'ai demandé le mauvais champ d'application. La visite de https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=xxxxxx est un bon moyen de vérifier.
En supposant que vérifie, assurez-vous que l'utilisateur que vous avez le jeton d'accès est autorisé à consulter le calendrier de ce que vous essayez d'accéder. "Engrenages" icône -> "Paramètres" -> "Calendriers" -> (sélectionnez calendrier) -> "Partager cet agenda"
Ajouter un champ pour le calendrier visitez le calendrier de l'api et vérifier la configuration de l'accès
J'ai dû inclure le Google Plus étendue afin d'avoir assez de l'autorisation d'accéder au calendrier:
Donc mon
scope
fini par ressembler à ceci:'https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/plus.login'
https://www.googleapis.com/auth/userinfo.profile
J'ai dû supprimer les autorisations de ma demande, et ensuite de retour pour donner des autorisations dans https://security.google.com/settings/security/permissions
J'ai eu le même problème alors que j'essayais d'ajouter un événement dans mon agenda google.
Comment j'ai enfin résolu ce :
Puis, il ouvre votre navigateur et google vous demande votre permission pour gérer votre calendrier et créer un nouveau " informations d'identification.json " dans votre répertoire.
J'ai aussi face à un même problème lors de l'ajout ou de modifier l'événement. Et après quelques recherches sur google, j'ai trouvé un champ d'application va vous donner toutes les autorisations -