API календаря Google на php с использованием учетной записи службы

У меня вопрос о Google Calendar API .

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

Если я снова прочитаю календарь на php progrum , progrum , написанная на php с учетной записью службы, не может быть загружена.

В чем причина проблемы?

это спецификация, которую php не может читать в расписании, созданном из php с учетной записью службы?

Информация о настройке:

  1. Я использую autoload.php для google-api-php-client-1-master.

  2. Это календарь Google V3.

  3. В идентификаторе календаря общей учетной записи электронной почты (учетной записи службы) присваивается «полномочие на изменение расписания» и может быть записано в календарь.

  4. Расписание, которое владелец, созданный непосредственно в Календаре Google, может быть прочитан php progrum, но расписание, созданное php с учетной записью службы, не может быть загружено.

Мой код

 //read event $json_path = '../json/XXXX-123465789.json'; $json_string = file_get_contents($json_path, true); $json = json_decode($json_string, true); $private_key = $json['private_key']; $client_email = $json['client_email']; $scopes = array(Google_Service_Calendar::CALENDAR); $credentials = new Google_Auth_AssertionCredentials( $client_email, $scopes, $private_key ); $client = new Google_Client(); $client->setApplicationName("Google Calendar PHP API"); $client->setAssertionCredentials($credentials); if ($client->getAuth()->isAccessTokenExpired()) { $client->getAuth()->refreshTokenWithAssertion(); } $service = new Google_Service_Calendar($client); $read_start = mktime(0, 0, 0, 4, 10, 2017); $read_end = mktime(0, 0, 0, 4, 17, 2017); $calendarId = '123456789@group.calendar.google.com'; $optParams = array( 'maxResults' => 99, 'orderBy' => 'startTime', 'singleEvents' => TRUE, 'timeMin' => date('c', $read_start_date), 'timeMax' => date('c', $read_end_date), ); $results = $service->events->listEvents($calendarId, $optParams); //create event $json_path = './json/xxx-123456789.json'; $json_string = file_get_contents($json_path, true); $json = json_decode($json_string, true); $calendarId = '123456789@group.calendar.google.com'; $private_key = $json['private_key']; $client_email = $json['client_email']; $scopes = array(Google_Service_Calendar::CALENDAR); $credentials = new Google_Auth_AssertionCredentials( $client_email, $scopes, $private_key ); $client = new Google_Client(); $client->setApplicationName("Google Calendar"); $client->setAssertionCredentials($credentials); if ($client->getAuth()->isAccessTokenExpired()) { $client->getAuth()->refreshTokenWithAssertion(); } $service = new Google_Service_Calendar($client); $meeting_end_time = _get_sum_time($set_time,$meeting_time); $event = new Google_Service_Calendar_Event(array( 'summary' => 'created by service account', 'start' => array( 'dateTime' => '2017-04-04T00:12:00+09:00', 'timeZone' => 'Asia/Tokyo', ), 'end' => array( 'dateTime' => '2017-04-04T00:13:00+09:00', 'timeZone' => 'Asia/Tokyo', ), )); $event = $service->events->insert($calendarId, $event); 

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

Не могли бы вы рассказать мне этот ответ?

Solutions Collecting From Web of "API календаря Google на php с использованием учетной записи службы"