I have read a lot of articles :
Google Calendar API - PHP https://developers.google.com/calendar/quickstart/php
and others.. I want to use the service account, I gave permissions for my calendar, I have downloaded the json key. If I use the code from Google, I got:
missing the required redirect URI
If i use the code:
$client = new Google\Client();
$client->setApplicationName('Gcal');
$client->setAuthConfig($key_file_location);
$client->setScopes([Google_Service_Calendar::CALENDAR]);
$client->setSubject($calendarId);
$client->setAccessType('offline');
$service = new Google_Service_Calendar($client);
I have:
Client is unauthorized to retrieve access tokens using this method, or client not authorized for any of the scopes requested
I don't have admin.google access, I need to access only my own calendar and delete old events. Please let me know what I am missing.
thank you
I tried to recreate your case and i think i see what's going wrong.
If you are picking "Web server", when creating client configuration:

Then you can use php from example, run script, obtain access token from get variables and give it back to console:

However if you are creating client configuration and using "Web browser", then your script is asking for redirect URI, which you can add to example php:
...
$client = new Google_Client();
$client->setRedirectUri('https://yourdomain.com/somedir');
$client->setApplicationName('Google Calendar API PHP Quickstart');
...
However then you have to go to Google Cloud Platform:

and authorize your domain and your redirect URI. When you run your script now, you will get your access token on redirect site.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With