Why is Google Calendar API (oauth2) responding with 'Insufficient Permission'?
Solution 1:
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.
Solution 2:
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"
Solution 3:
Add scope for calendar visit calendar api and check access configuration
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.readonly