Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is Google Calendar API (oauth2) responding with 'Insufficient Permission'?

I'm doing a get request to the following URL (with {id} replaced with the id from the web interface):

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

A few assertions:

  1. The Authorize header is being correctly set with a valid access token (the token works fine for the Analytics API)

  2. I've set the following scope for oauth2, which shows up correctly:

    https://www.googleapis.com/auth/calendar 
  3. The token doesn't appear to have expired; it works for the Analytics API.

    { "error": { "errors": [ { "domain": "global", "reason": "insufficientPermissions", "message": "Insufficient Permission" } ], "code": 403, "message": "Insufficient Permission" } } 
like image 200
rob_mccann Avatar asked Jun 06 '13 19:06

rob_mccann


People also ask

How do I enable Google Calendar API?

Enable API accessIn the API Manager pane, click Library to see the list of available APIs. In the Google Apps APIs list, scroll down to click or search for Calendar API, then on the API page, click Enable. Go back to the Library.

Is Google Calendar API a REST API?

The Google Calendar API is a RESTful API that can be accessed through explicit HTTP calls or via the Google Client Libraries.


1 Answers

To fix, I revoked access to the app at https://accounts.google.com/IssuedAuthSubTokens and retried after which, I was able to access the API correctly.

Despite having the scope in the list, and the scope showing up on Google's OAuth2 grant page, the additional scope wasn't granted.

like image 107
rob_mccann Avatar answered Oct 04 '22 04:10

rob_mccann