To jest taki gigantyczny ból w dupie - ale w końcu udało mi się to zrobić, aby przynajmniej stworzyć wydarzenia.
Pobierz najnowszy zip API Google PHP i prześlij go do swojego folderu include na swoim serwerze internetowym. Użyj konsoli Google API, aby skonfigurować klienta API. Upewnij się, że adres URL przekierowania jest taki sam, jak adres URL strony - więc przekierowuje sam do siebie.
Początkowo ustawiłem tylko niektóre zmienne dla szczegółów wydarzenia, możesz utworzyć formularz, który popchnie je, jeśli chcesz.
Oto mój kod:
<?php
$jobname = "BINGO";
$joblocation = "Your mums house";
$jobdescription = "An interview with a dog.";
$startofjob = "2013-12-20T17:00:00.000+00:00"; //datetimes must be in this format
$endofjob = "2013-12-20T18:00:00.000+00:00"; // YYYY-MM-DDTHH:MM:SS.MMM+HH:MM
//So that's year, month, day, the letter T, hours, minutes, seconds, miliseconds, + or -, timezoneoffset in hours and minutes
include('google-api-php-client/src/Google_Client.php');
include('google-api-php-client/src/contrib/Google_CalendarService.php');
session_start();
$client = new Google_Client();
$client->setApplicationName('doesntmatter-whateveryouwant');
$client->setClientId('yourclientid');
$client->setClientSecret('yourclientsecret');
$client->setRedirectUri('yourredirecturl-setingoogleconsole');
$client->setDeveloperKey('yourdeveloperkey');
$cal = new Google_CalendarService($client);
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$_SESSION['token'] = $client->getAccessToken();
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}
if (isset($_SESSION['token'])) {
$client->setAccessToken($_SESSION['token']);
}
if ($client->getAccessToken()) {
$event = new Google_Event();
$event->setSummary($jobname);
$event->setDescription($jobdescription);
$event->setLocation($joblocation);
$start = new Google_EventDateTime();
$start->setDateTime($startofjob);
$event->setStart($start);
$end = new Google_EventDateTime();
$end->setDateTime($endofjob);
$event->setEnd($end);
$createdEvent = $cal->events->insert('[email protected]', $event);
echo $createdEvent->id;
$_SESSION['token'] = $client->getAccessToken();
} else {
$authUrl = $client->createAuthUrl();
print "<a class='login' href='$authUrl'>Connect Me!</a>";
}
?>
Obserwuj poniżej link. https://stackoverflow.com/questions/43658751/add-events-to-calendar-programmatically?answertab=votes#tab-top –
Wykonaj poniższy link. https://stackoverflow.com/questions/43658751/add-events-to-calendar-programmatically?answertab=votes#tab-top –