Saya mengalami beberapa masalah saat menggunakan API Google Kalender menggunakan perpustakaan klien PHP.
Di bawah ini adalah kode saya:
<?php
require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_CalendarService.php';
define("CLIENT_ID", "blah blah blah");
define("SERVICE_ACCOUNT_NAME", "blah blahblah");
define("KEY_FILE", "keykeykey.p12");
$client = new Google_Client();
$client->setApplicationName("Google Calendar Sample");
$client->setUseObjects(true);
session_start();
if (isset($_SESSION['token']))
{
$client->setAccessToken($_SESSION['token']);
}
$key = file_get_contents(KEY_FILE);
$client->setAssertionCredentials(new Google_AssertionCredentials(
SERVICE_ACCOUNT_NAME,
array('https://www.googleapis.com/auth/calendar'),
$key)
);
$client->setClientId(CLIENT_ID);
$service = new Google_CalendarService($client);
///////////////////////////////////////////////////////////////////
try
{
$calendar = new Google_Calendar();
$calendar->setSummary('test');
$createdCalendar = $service->calendars->insert($calendar);
var_dump($createdCalendar);
}
catch(Google_ServiceException $e)
{
var_dump($e);
}
///////////////////////////////////////////////////////////////////
if ($client->getAccessToken())
{
$_SESSION['token'] = $client->getAccessToken();
}
?>
Dump dari $createdCalendar adalah sebagai berikut:
object(Google_Calendar)[15]
public 'kind' => string 'calendar#calendar' (length=17)
public 'description' => null
public 'summary' => string 'test' (length=3)
public 'etag' => string '"wT71Iy7ZAyY0SAhLu4jxO8w9qqM/zHZjSmLgdGM-FmXSbf2H0YONYb0"' (length=57)
public 'location' => null
public 'timeZone' => null
public 'id' => string '[email protected]' (length=52)
Ini menunjukkan bahwa kalender berhasil dibuat karena ID disediakan oleh Google. Namun kalender ini tidak muncul dalam daftar Kalender ketika saya membuka kalender Google di browser web saya.
Ada ide?
BTW, saya tahu pasti setup OAuth2 Berkaki 2 saya berfungsi karena jika saya mengganti blok kode antara /////////////// dengan yang berikut, itu berfungsi dengan baik
$event = new Google_Event();
$event->setSummary('Appointment');
$event->setLocation('Somewhere');
$start = new Google_EventDateTime();
$start->setDateTime('2012-12-15T16:00:00.000-08:00');
$event->setStart($start);
$end = new Google_EventDateTime();
$end->setDateTime('2012-12-15T19:00:00.000-08:00');
$event->setEnd($end);
$attendee1 = new Google_EventAttendee();
$attendee1->setEmail('[email protected]');
$attendees = array($attendee1);
$event->attendees = $attendees;
$createdEvent = $service->events->insert('primary', $event);
error.log
? - person feeela   schedule 13.12.2012google
,calendar
danapi
tidak berarti Anda sedang membicarakan API Google Kalender. Ada tag tunggal yang terpisah untuk itu. - person Charles   schedule 13.12.2012