イベントの削除
以下は、イベント削除にかかわるサンプルコードです。
各イベントごとに表示された削除ボタンを作成し、作成ボタン押下時に削除確認をするページを表示させるところまでは、編集の時とほぼ同じ動作なので説明は割愛します。
// カレンダーリストごとに処理
foreach ($listFeed as $list) {
// 取得したイベントの数だけループ
foreach ($eventFeed as $event) {
// htmlテーブルに取得した情報を表示
echo "<form method='POST'>";
echo "<td><button type='submit' name='deleteEvent'>削除</button></td>";
echo "<input type='hidden' name='targetEventId' value='" . $eventId . "'>";
echo "<input type='hidden' name='targetTitle' value='" . $title . "'>";
echo "</form>";
}
}
// 削除ボタン押下時の動作
}else if(isset($_POST['deleteEvent'])) {
echo "<form method='POST'>";
echo "<input type='hidden' name='targetEventId' value='" . $_POST['targetEventId'] . "'>";
echo "<input type='submit' name='deleteYes' value='実行'>";
echo "<input type='submit' name='cancel' value='キャンセル'>";
echo "</form>";
}
// 削除に対して実行を押下時
} else if(isset($_POST['deleteYes'])) {
// IDからイベントオブジェクトを取得
try {
$event = $serviceCal->getCalendarEventEntry($_POST['targetEventId']);
} catch (Zend_Gdata_App_Exception $e) {
echo "エラー: " . $e->getMessage();
}
// イベントをGoogle Calenderサーバから削除【 1 】
$event->delete();
}
削除ページの実行ボタン押下時動作
フォームから削除対象のイベントのIDを取得し、更新時同様イベントオブジェクトを生成します。
イベントを削除する場合には、イベントオブジェクトであるZend_Gdata_Calendar_Eventのdeleteメソッドを使用します。
// イベントをGoogle Calenderサーバから削除【 1 】 $event->delete();
解説は以上になります。次のようなサンプルができたでしょうか。
まとめ
いかがでしょうか。Zend_Gdata_Calendarについて解説を行いました。サーバデータを扱う基本的な動作である参照、新規登録、更新、削除について理解できたでしょうか。使用するクラス、メソッドは違えど、他のGoogleサービスのAPIにおいても同様の考え方でサーバ上のデータを扱うことができるようになります。
次回はGoogle Document Listsを使用しましょう。これはファイルサーバのようなもので、サーバ上でドキュメントのアップロードやダウンロードを行うことができます。




