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}
I had the same issue while I was trying to add an event in my google calendar. How I finally fixed this :
Then, it opens your browser and google asks your permission to manage your calendar and create a new 'credentials.json' in your repertory.
Add scope for calendar visit calendar api and check access configuration
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.readonly
I also face same issue when add or edit event. And after some googling, I found that, one scope will give you all permission -
https://www.googleapis.com/auth/calendar
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.
I would double-check the scope is included - I've seen that exact message when I've requested the wrong scope. Visiting https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=xxxxxx is a good way to verify.
Assuming that checks out, make sure that the user that you have the access token for has permission to view the calendar that you're trying to access. "Gears" icon -> "Settings" -> "Calendars" -> (select calendar) -> "Share this calendar"
I had to include the Google Plus scope in order to have sufficent permission to access a calendar:
So my scope
ended up looking like this:
'https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/plus.login'