API Календаря Google перестал отправлять приглашения посетителям и не отображается в календаре - PullRequest
1 голос
/ 03 октября 2019

Google Calendar PHP клиент, используемый для создания / управления событиями календаря с помощью служебной учетной записи.

Внезапно он перестал работать, события создаются, но посетители не получают никаких приглашений, или событие не отражается в календаре. .

Эти события видны через события.list с подтвержденным статусом.

Мы пытались дать другое разрешение от консоли администратора, а также делиться календарем с электронной почтой учетной записи службы, но не работали.

$clientId = '<CLIENT_ID>'
$serviceAccountName = '<SERVICE_ACCOUNT_NAME>';
$Key = file_get_contents( 'Path_to_api_key_file.p12' );

$GoogleClient = new Google_Client();
$GoogleClient->setClientId( $clientId );
$GoogleClient->setUseObjects( true );

$GoogleClient->setAssertionCredentials( new Google_AssertionCredentials( $serviceAccountName, array( 'https://www.googleapis.com/auth/calendar' ), $Key ) );

$GoogleCalendarService = new Google_CalendarService( $GoogleClient );

$StartDateTime  = new DateTime( getScheduledStartTime() );
$EndDateTime    = new DateTime( getScheduledEndTime() );

$GoogleEvent = new Google_Event();

$GoogleEvent->setSummary( 'Calendar Session for test' );
$GoogleEvent->setDescription( 'Reproduce Issue' );

$StartGoogleEventDateTime = new Google_EventDateTime();
$StartGoogleEventDateTime->setTimeZone( date_default_timezone_get() );
$StartGoogleEventDateTime->setDateTime( $StartDateTime->format( 'Y-m-d\TH:i:s' ) );

$GoogleEvent->setStart( $StartGoogleEventDateTime );

$EndGoogleEventDateTime = new Google_EventDateTime();
$EndGoogleEventDateTime->setTimeZone( date_default_timezone_get() );
$EndGoogleEventDateTime->setDateTime( $EndDateTime->format( 'Y-m-d\TH:i:s' ) );

$GoogleEvent->setEnd( $EndGoogleEventDateTime );

$EventCreator = new Google_EventCreator();
$EventCreator->setDisplayName( 'Training Team' );
$EventCreator->setEmail( '<TrainingEmail@tld>' );

$GoogleEvent->setCreator( $EventCreator );

$EventAttendee = new Google_EventAttendee();
$EventAttendee->setEmail( '<TrainingEmail@tld>' );
$EventAttendee->setOrganizer( true );
$GoogleEvent->attendees[] = $EventAttendee;

$EventAttendee1 = new Google_EventAttendee();
$EventAttendee1->setEmail( '<attendees@emailaddress>' );
$GoogleEvent->attendees[] = $EventAttendee1;

$GoogleEvent->setVisibility( 'default' );
$GoogleEvent->setKind( 'calendar#calendar' );

$objCalendarEventDetails = $GoogleCalendarService->events->insert( $serviceAccountName , $GoogleEvent, array( 'sendNotifications' => true ) );

Какие шаги приведут к возникновению проблемы?

 1. Setup a Service account and create key.
 2. create PHP script to add calendar events as like the above one
 3. Run the script and check whether event is getting added or not.

Ожидается, что участники получат уведомление о событии по электронной почте и смогут увидеть событиев их календаре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...