Я использую Google Api v3 для добавления и изменения событий Google.
большинство работает нормально, но я не могу получить изменения, сделанные в событиях Google
Я использую следующий код:
require_once 'google-api-php-client/src/Google/Client.php';
require_once 'google-api-php-client/src/Google/Service/Analytics.php';
require_once 'google-api-php-client/src/Google/Service/Calendar.php';
$client_id = 'my-client_id'; // works without this
$Email_address = 'my-Email_address';
$key_file_location = 'my-key_file_location.p12';$client = new Google_Client();
$client->setApplicationName("app-name"); // works without random names
$key = file_get_contents($key_file_location);
$scopes = array('https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly');$cred = new Google_Auth_AssertionCredentials($Email_address, $scopes , $key);
$client->setAssertionCredentials($cred);
if ($client->getAuth()->isAccessTokenExpired())
{
$client->getAuth()->refreshTokenWithAssertion($cred);
}$service = new Google_Service_Calendar($client);
$cals = $service->calendarList->listCalendarList();
$event = new Google_Service_Calendar_Event();
$event->setSummary('04/03 appointment -1');
$start = new Google_Service_Calendar_EventDateTime();
$start->setDateTime('2015-03-27T11:00:00.000-00:00');
$start->setTimeZone('Asia/Calcutta');
$event->setStart($start);
$end = new Google_Service_Calendar_EventDateTime();
$end->setDateTime('2015-03-27T11:25:00.000-00:00');
$end->setTimeZone('Asia/Calcutta');
$event->setEnd($end);
$attendee1 = new Google_Service_Calendar_EventAttendee();
$attendee1->setEmail('[email protected]');
$attendees = array($attendee1);
$event->attendees = $attendees;
$recurringEvent = $service->events->insert('[email protected]', $event);
echo $dynamicId = $recurringEvent->getId();
$events = $service->events->listEvents('[email protected]');
echo "<br>start - into web hoot <br>";
$service = new Google_Service_Calendar($client);
$channel = new Google_Service_Calendar_Channel($client);
$channel->setId($dynamicId);
$channel->setType('web_hook');
echo '<br>';
echo $url = 'https://mydomain.com.return.php';
$channel->setAddress($url);
$timetoExpire = time()+3600000;$optParams = array('ttl' => $timetoExpire);
$channel->setParams($optParams);
try
{
echo "<br>";
$watchEvent = $service->events->watch('[email protected]', $channel);
print_r($watchEvent);
echo "<br>hook applied<br>";
}
catch(Exception $e)
{
echo $e;
echo "web hook not working<br />.";
}
echo "<br>end";
exit;
обратный ответ приходит правильно в https: //mydomain.com.return.php но до сих пор не знаю, как читать ответ
и я не уверен
что такое
[resourceId] =7U94nhlXTXH_tK13-5JIrZTBWU0
[resourceUri] =https://www.googleapis.com/calendar/v3/calendars/[email protected]/events?alt=json
Пожалуйста, помогите мне выяснить, как получить измененную дату события в календаре Goggle Заранее спасибо
Задача ещё не решена.
Других решений пока нет …