Google Kalender PHP API tidak dapat membuat kalender

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);

person user1772255    schedule 12.12.2012    source sumber
comment
ini menggunakan V3 dari API kalender   -  person user1772255    schedule 13.12.2012
comment
Aku tidak memahami maksudmu. Sudahkah Anda memeriksa Apache error.log?   -  person feeela    schedule 13.12.2012
comment
Setelah potongan kode itu dijalankan, bukankah kalender baru yang dibuat akan muncul di bawah 'Kalender Saya' di situs web kalender Google?   -  person user1772255    schedule 13.12.2012
comment
Sudahkah Anda mengimpornya ke akun Google Kalender Anda?   -  person feeela    schedule 13.12.2012
comment
tidak yakin apakah ini ada hubungannya dengan mengimpor kalender...   -  person user1772255    schedule 13.12.2012
comment
Harap dicatat bahwa tag berdiri sendiri. Artinya, menggabungkan google, calendar dan api tidak berarti Anda sedang membicarakan API Google Kalender. Ada tag tunggal yang terpisah untuk itu.   -  person Charles    schedule 13.12.2012
comment
Namun saya bahkan tidak mengerti apakah masalah Anda ada pada kode Anda atau pada penggunaan Google Kalender.   -  person feeela    schedule 13.12.2012
comment
Saya belum pernah melakukan ini (jadi tidak memposting sebagai jawaban kecuali berhasil), tetapi saya kira Anda perlu menambahkan sumber daya kalender (yang ID-nya Anda miliki) ke dalam Daftar Kalender pengguna (developers.google.com/google-apps/calendar/v3/reference/). Ini mengatur hal-hal seperti warna, pengingat default, dll dan mungkin memungkinkan pengguna untuk melihatnya.   -  person Robbie    schedule 03.11.2016
comment
Sudahkah Anda mencoba masuk dan keluar dari akun Google Anda?   -  person PauAI    schedule 09.11.2016


Jawaban (1)


Saya menemukan bahwa kode serupa milik saya membuat kalender untuk pengguna google api ([email protected]) tetapi bukan saya. Periksa 'id' kalender pertama yang ada dan Anda akan melihat [email protected].

person user2300322    schedule 19.04.2013