やかんブログ

[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);

次回 から 他のメソッドの紹介をしたいと思います。

この記事に関するお問い合わせはこちら

ページの先頭へ