2013-08-18 4 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 캘린더 UI와 마찬가지로 참석자 상태는 참석자 자신 만 수정할 수 있습니다. 이 모든 사용자가 동일한 Google Apps 도메인에있는 경우 service account을 통해 참석자로 승인하고 상태를 변경 할 수 있습니다.

+0

기존 초대 된 참석자의 상태를 변경해야합니다. 나는 PHP API를 사용하여 아이폰 애플 리케이션에서 이것을 구현하기위한 것입니다. 이메일을 통해 특정 사용자의 회신 요청 상태를 변경해야합니다. 이 일을 할 수있는 방법이 있습니까? –

+0

아니요, 다른 참석자 상태를 변경할 수 없습니다. 사용자는 자신의 초대에 대한 상태 만 제어합니다. –

관련 문제