Добавить событие в Google Calendar
-
21-12-2019 - |
Вопрос
Я использую этот код, чтобы добавить событие на мой календарь
$client = new Google_Client();
$client->setApplicationName("Calendar");
$scopes = array('https://www.googleapis.com/auth/prediction', 'https://www.googleapis.com/auth/calendar');
$auth_credentials = new Google_Auth_AssertionCredentials(SERVICE_ACCOUNT_NAME, $scopes, $privateKey);
$client->setAssertionCredentials($auth_credentials);
$client->setClientId(CLIENT_ID);
$cal = new Google_Service_Calendar($client);
try {
$event = new Google_Service_Calendar_Event();
$event->setSummary('Halloween');
$event->setLocation('The Neighbourhood');
$start = new Google_Service_Calendar_EventDateTime();
$start->setDateTime('2014-01-09T10:00:00.000-05:00');
$event->setStart($start);
$end = new Google_Service_Calendar_EventDateTime();
$end->setDateTime('2014-01-10T10:25:00.000-05:00');
$event->setEnd($end);
$createdEvent = $cal->events->insert('primary', $event);
echo $createdEvent->getId()."\n\n";
}
catch (Exception $ex)
{
die($ex->getMessage());
}
.
Я получаю идентификатор события, он напечатан, но когда я смотрю на мой календарь в браузере - нет ничего нет.
Что я делаю не так?
Решение
Вам нужно поделиться своим календарем для себя.
Это для нового API Google_Client.
$scope = new Google_Service_Calendar_AclRuleScope();
$scope->setType('user');
$scope->setValue( 'Your Email Goes Here' );
$rule = new Google_Service_Calendar_AclRule();
$rule->setRole( 'owner' );
$rule->setScope( $scope );
$result = $service->acl->insert('primary', $rule);
.
Ссылка: GoogleКалендарь API V3 - не создавая событие (аутентификация сервера к серверу)
Не связан с StackOverflow