2012-02-24 29 views
3

GoogleカレンダーAPIのバージョン3を使用しています。一度に1つのイベントを追加することはできますが、複数のイベントを一度に追加したいと考えています。どのようにこれを行うにはどのようなアイデア?下のテンプレートに$ authUrlを割り当て、ユーザーが「Googleカレンダーにすべての項目を追加する」というリンクをクリックし、Googleがアカウントにアクセスできるようにし、$ _GET ['code']でコールバックURLに戻ります$ client-> getAccessToken()ブロック全体が実行されます。PHP GoogleカレンダーAPI:一度に複数のイベントを追加する

明らかに私はダミーデータを使用していますが、フィールドに式エンジンのデータを取り込みたいとします。私は利用可能なデータを持っていますが、この質問の簡素化のために、駄目なことはしておき、テストデータを入れました。

このコードは、1つのイベントのために動作します。私は、「クラスのイベント」私はインスタンス化(だけではなく、単一のEventオブジェクトをインスタンス化する)ことができますがあることに気づいた

$client = new apiClient(); 
$client->setApplicationName("Band Calendar"); 
$cal = new apiCalendarService($client); 

if (isset($_GET['logout'])) { 
    unset($_SESSION['token']); 
} 

if (isset($_GET['code'])) { 
    $client->authenticate(); 
    $_SESSION['token'] = $client->getAccessToken(); 
    header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); 
} 

if (isset($_SESSION['token'])) { 
    $client->setAccessToken($_SESSION['token']); 
} 

$authUrl = $client->createAuthUrl(); 

if ($client->getAccessToken()) { 

$event = new Event(); 
$event->setSummary("test title"); 
$event->setLocation("test location"); 
$start = new EventDateTime(); 
$start->setDateTime('2012-03-03T09:25:00.000-05:00'); 
$event->setStart($start); 
$end = new EventDateTime(); 
$end->setDateTime('2012-03-03T10:25:00.000-05:00'); 
$event->setEnd($end); 
$attendee1 = new EventAttendee(); 
$attendee1->setEmail('[email protected]'); 
$attendees = array($attendee1); 
$event->attendees = $attendees; 
$createdEvent = $cal->events->insert('primary', $event); 

echo $createdEvent->getId(); 

$_SESSION['token'] = $client->getAccessToken(); 
} 

、それは$アイテムを持っていることメンバー変数。私は、イベントオブジェクトの束を$ itemメンバ変数に追加し、一度にたくさんのイベントを送信することができますが、それを正しく得ることはできないと思います。誰もがこれを経験している?

答えて

0

v3のPHPJavaのドキュメントから判断すると、これは不可能です。 Calendar.Events(Javaの場合)は、APIのカレンダーのイベント関連のメソッドを包むラッパーです.1つのイベントを挿入するように要求できますが、複数のイベントの表現として使用することはできません。それをサーバーに渡します(一括挿入の場合)。

少なくとも、これは私が今締結したものです。 (機能を使用することもできます)

関連する問題