2009年7月11日土曜日

phpで指定したgoogleカレンダーの権限を表示する。

Zend_Gdata_CalendarクラスのgetFeedの関数を使うと、Zend_Gdata_App_Feedのオブジェクトで返ってくる。
次にgetEntry()の関数を使い、 Zend_Gdata_App_Entryのオブジェクトが格納されたarrayで返す。
arrayだからcount($array)でarrayの数を数える。
→ここまではgoogleカレンダーのリストの取得と同じ。
今回は、ユーザーIDの取得を他の場所から取得してみる。
Zend_Gdata_App_EntryのextensionElementsという関数を使い、Zend_Gdata_App_Extension_Element Objectの形にする。
このオブジェクトはZend_Gdata_App_Extension_Elementのオブジェクトが配列の形で格納されている。
このオブジェクトをとりだした後、extensionAttributesの関数を使い、配列を取り出す。
あとは、必要なものを取り出すだけ。


require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
// ClientAuth 認証用のパラメータ
$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$user = "googleのアカウント";
$pass = "googleのアカウントのパスワード";
// 認証済みの HTTP クライアントを作成します
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);

$service = new Zend_Gdata_Calendar($client);

$clendar_id = "カレンダーのID";
$uri = "http://www.google.com/calendar/feeds/".$clendar_id."/acl/full";

$response = $service->getFeed($uri,'Zend_Gdata_App_Feed');

$entry = $response->getEntry();
$i = 0;
while($i<count($entry)){
print $entry[$i]->extensionElements[0]->extensionAttributes[value][value];
print "=";
print $entry[$i]->title;
print "<br/>";
$i += 1;
}

0 件のコメント:

コメントを投稿