[PHP]Zend Google Data Client Libraryで gCal APIs を使う[その4]
2007年09月14日(金)09:02|那須
那須です
お待たせいたしました(?)。今回からようやく Google Calendar APIs を使ってデータを取り出すクラスを説明したいと思います。
まず、前回までは、Googleアカウントの認証について説明しました。Google Calendar は、認証しないと使えない機能が多いので、Google APIs の経験がない方はその1から読まれることをお勧めいたします。
GoogleカレンダーAPI
その1で既に触れていますが、Google Calendar APIs は、GData と呼ばれる XML形式でデータのやり取りを行います。このXMLを解析(パース)することで、自作のアプリケーション等で利用する事になります。
Google Calendar APIs では
- カレンダーリストの取得
- 予定(カレンダーイベント)の取得
- 予定の登録
- 予定の編集
- 予定の削除
といったことが、可能です。
Google Calendar APIs について詳しく知りたい方は、Google Calendar Data API Developer’s Guideを参照してみてください。
Zend_Gdata_Calendar
Zend GData CL では、Google Calendar APIs を扱うクラスとして、Zend_Gdata_Calendar が用意されています。
Zend_Gdata_Calendar にはコンストラクタを含め、6つのメソッドが用意されています。
- __construct
- getCalendarEventFeed
- getCalendarEventEntry
- getCalendarListFeed
- getCalendarListEntry
- insertEvent
名前から予想はつくと思いますが、getCalendarEventXXX()は、予定(カレンダーイベント)の取得に、getCalendarListXXX()は、カレンダーリストの取得に使います。insertEvent()は、予定の登録を行います。
編集や削除用のメソッドは?と思う方もいるかもしれません。編集/削除は、カレンダーイベントやカレンダーリスト毎に行う処理ですので、getCalendarEventEntry()などで取得したオブジェクトが持つ機能となります。それらについては、また後ほど紹介をしたいと思います。
__construct
引数
- $client
- Zend_Http_Clientオブジェクト
- デフォルト: null
Zend_Http_Client オブジェクトには、Zend_Gdata_ClientLoginクラス等を使って、認証情報が格納されたものを使います。
引数を指定しなかったり、認証されていないZend_Http_Clientオブジェクトを使うことも可能です。ですがその場合は、当然、非公開データの取得や、Google Calendarへのデータ登録といったことはできません。
例
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, Zend_Gdata_Calendar::AUTH_SERVICE_NAME); $gCal = new Zend_Gdata_Calendar($client);
次回 から 他のメソッドの紹介をしたいと思います。