2013-08-18 65 views
1

我正在使用Google日曆API V3。我想使用PHP API來更新現有的與會者狀態。我正在使用以下代碼。但似乎這個代碼並沒有更新現有的參與者。例如,考慮(shohag @ test.com,enamul @ test.com,test @ test.com)是某些事件的參與者,並且所有事件狀態均處於待處理狀態。執行此代碼後,我只能看到[email protected]處於可接受的狀態。這是我的代碼。Google日曆::使用PHP API更新現有的與會者狀態

<?php 
require_once '../../src/Google_Client.php'; 
require_once '../../src/contrib/Google_CalendarService.php'; 
session_start(); 

$client = new Google_Client(); 
$client->setApplicationName("Google Calendar PHP Starter Application"); 

$client->setClientId('MYCLIENT ID'); 
$client->setClientSecret('MY SECRET'); 
$client->setRedirectUri('MY RETURN URL'); 
$client->setDeveloperKey('MY DEV KEY'); 

$cal = new Google_CalendarService($client); 
if (isset($_GET['logout'])) { 
    unset($_SESSION['token']); 
} 

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()) { 

    // First retrieve the event from the API. 
    $event = new Google_Event($cal->events->get('primary', 'EVENT ID')); 

    $attendee1 = new Google_EventAttendee(); 
    $attendee1->setEmail('[email protected]'); 
    $attendee1->setResponseStatus('accepted'); 
    $attendees = array($attendee1); 
    $event->attendees = $attendees; 
    $updatedEvent = $cal->events->update('primary', $event->getId(), $event); 
    $_SESSION['token'] = $client->getAccessToken(); 
} else { 
    $authUrl = $client->createAuthUrl(); 
    print "<a class='login' href='$authUrl'>Connect Me!</a>"; 
} 

如何更改現有與會者的狀態?這裏是更新API鏈接https://developers.google.com/google-apps/calendar/v3/reference/events/update。讓我知道。

回答

0

就像在Google日曆界面中一樣,與會者狀態只能由與會者自己修改。如果所有這些用戶都在同一個Google Apps域中,則可以通過service account授權作爲與會者,並將其狀態更改爲他們的狀態。

+0

我需要更改現有受邀參加者的狀態。我打算在iphone應用程序中使用php API實現這一點。我需要通過電子郵件更改某些用戶的RSVP狀態。有沒有辦法做到這一點? –

+0

不,您不能更改其他與會者的狀態。用戶只能控制自己邀請的狀態。 –

相關問題