スタッフブログ
Services_Google_Calendar ( http://openpear.org/package/Services_Google_Calendar )は,
文字通り,GoogleCalendarをコントロールするライブラリです.
GoogleCalendarには,Google Calendar Data API (http://code.google.com/intl/ja/apis/calendar/)があり,
本ライブラリはこのAPIを使って,カレンダー制御を実現しています.
使い方は,パッケージのサイトを見てもらうとわかるように,インスタンスを作成し,getEventsでイベント取得.
addEventでイベント登録になっています.
イベントの参照
イベントの登録
このように非常に簡単に操作できるのですが,
この操作を行う前にしっておかなければいけない要素が3つあります.
それは,「カレンダーのid」「パスワード」「ハッシュ」です.
カレンダーのidとは文字通り,カレンダー毎に割りふられたidです.
プログラム上ではこれを引数に指定する事でカレンダーを指定します.
プライマリーカレンダー(アカウントを作った時に最初にできているカレンダー)の場合,
カレンダーのidは,gmailのメールアドレスになっています.
が,後で作ったカレンダーは,ランダムなidがついているので,参照時にこれを指定する必要があります.
カレンダーのidは,googleカレンダーにログインし,カレンダーの設定から「限定公開URL」のXMLフィードのURLで調べる事ができます.
限定公開URLは以下のような形式になっています.
この中の[ID]が,カレンダーのidになっています.
パスワードとは,そのままgmailのパスワードを示します.特に説明の必要はありませんね.
ハッシュとは,先ほどの限定公開URLにある[HASH]の部分の事です.
カレンダーidとハッシュを指定する事で,プライベートなイベントを取得する事ができます.
今まで,Google CalendarのAPIは難しそうだからとicalを出力して,それをGoogle Calendarに読ませていたのですが,
icalは表示できる量に制限があるので,これからはServices_Google_Calendarでイベント登録をしていこうと思います.
文字通り,GoogleCalendarをコントロールするライブラリです.
GoogleCalendarには,Google Calendar Data API (http://code.google.com/intl/ja/apis/calendar/)があり,
本ライブラリはこのAPIを使って,カレンダー制御を実現しています.
使い方は,パッケージのサイトを見てもらうとわかるように,インスタンスを作成し,getEventsでイベント取得.
addEventでイベント登録になっています.
イベントの参照
require_once 'Services/Google/Calendar.php';
// initialize
$gc = new Services_Google_Calendar();
// get events data
$public_data = $gc->getEvents($gmail_id);
// get events data (private mode)
$private_data = $gc->getEvents($gmail_id, $hash);
イベントの登録
require_once 'Services/Google/Calendar.php';
// initialize
$gc = new Services_Google_Calendar($gmail_id, $passwd);
// set event data
$entry['title'] = 'Event title';
$entry['content'] = 'Event description';
$entry['where'] = 'Where the event helds';
$entry['when'][0] = '2006-10-20';
$entry['when'][1] = '2006-10-24';
$entry['transparency'] = 'transparent';
$entry['visibility'] = 'private';
// add an event
$result = $gc->addEvent($entry);
このように非常に簡単に操作できるのですが,
この操作を行う前にしっておかなければいけない要素が3つあります.
それは,「カレンダーのid」「パスワード」「ハッシュ」です.
カレンダーのidとは文字通り,カレンダー毎に割りふられたidです.
プログラム上ではこれを引数に指定する事でカレンダーを指定します.
プライマリーカレンダー(アカウントを作った時に最初にできているカレンダー)の場合,
カレンダーのidは,gmailのメールアドレスになっています.
が,後で作ったカレンダーは,ランダムなidがついているので,参照時にこれを指定する必要があります.
カレンダーのidは,googleカレンダーにログインし,カレンダーの設定から「限定公開URL」のXMLフィードのURLで調べる事ができます.
限定公開URLは以下のような形式になっています.
http://www.google.com/calendar/feeds/[ID]@group.calendar.google.com/private-[HASH]/basic
この中の[ID]が,カレンダーのidになっています.
パスワードとは,そのままgmailのパスワードを示します.特に説明の必要はありませんね.
ハッシュとは,先ほどの限定公開URLにある[HASH]の部分の事です.
カレンダーidとハッシュを指定する事で,プライベートなイベントを取得する事ができます.
今まで,Google CalendarのAPIは難しそうだからとicalを出力して,それをGoogle Calendarに読ませていたのですが,
icalは表示できる量に制限があるので,これからはServices_Google_Calendarでイベント登録をしていこうと思います.