forked from MagicMirrorOrg/MagicMirror
/
calendar.php
51 lines (43 loc) · 1.57 KB
/
calendar.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
include "vendor/autoload.php";
include "config.php";
$client = new Google_Client();
$credentials = $client->loadServiceAccountJson(__DIR__."/googlekeys.json", Google_Service_Calendar::CALENDAR_READONLY);
$client->setAssertionCredentials($credentials);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion();
}
$service = new Google_Service_Calendar($client);
// Print the next 10 events on the user's calendar.
$calendarId = CAL_ID;
$optParams = [
'maxResults' => 15,
'orderBy' => 'startTime',
'singleEvents' => true,
'timeMin' => date('c'),
];
//$calendars = $service->calendarList->listCalendarList();
///** @type Google_Service_Calendar_Calendar $cal */
//foreach($calendars->getItems() as $cal) {
// var_dump($cal->getId());
//}
$results = $service->events->listEvents($calendarId, $optParams);
//var_dump($results->count());
$events = [];
/** @type Google_Service_Calendar_Event $event */
foreach ($results as $event) {
//var_dump($event);
// var_dump($event->getSummary());
$time = $event->getStart()->getDateTime()
? new DateTime($event->getStart()->getDateTime())
: new DateTime($event->getStart()->getDate());
$start = $event->getStart()->getDateTime() ? $time->format('g:ia | D jS') : $time->format('D jS');
$events[] = [
'summary' => $event->getSummary(),
'start' => $start,
'end' => $event->getEnd()->getDateTime(),
'location' => $event->getLocation(),
];
}
header('Content-Type: application/json');
echo json_encode($events);