Zend_Service_Simpy(日本語)
導入
Zend_Service_Simpy は、ソーシャルブックマークサービスである
Simpy 用のフリーな REST API の、軽量なラッパーです。
Zend_Service_Simpy を使用するには
Simpy アカウントが必要です。アカウントを取得するには、
» Simpy のウェブサイト にいきます。
Simpy REST API についての詳細な情報は
» Simpy REST API ドキュメント
を参照ください。
Simpy REST API を使用すると、Simpy
のウェブサイトが提供するサービスを利用できます。
以下の節は、Zend_Service_Simpy
で利用できる機能の概要をまとめたものです。
-
リンク: 作成、取得、更新、削除
-
タグ: 取得、削除、名前の変更、統合、分割
-
メモ: 作成、取得、更新、削除
-
ウォッチリスト: 取得、すべてを取得
リンク
リンクを問い合わせると、登録日の降順で結果が返されます。
リンクの検索は、タイトルやニックネーム、タグ、メモ
そしてリンクに関連付けられたウェブページの内容にもとづいて行うことができます。
Simpy の検索は、これらのフィールドのいずれかあるいはすべてを対象に
フレーズや論理演算子、ワイルドカードを使用して行うことができます。
詳細な情報は、Simpy FAQ の
» 検索構文 や
» 検索フィールド
といった節を参照ください。
$simpy = new Zend_Service_Simpy('あなたのユーザ名', 'あなたのパスワード');
/* 直近に追加された 10 件のリンクを探します */
$linkQuery = new Zend_Service_Simpy_LinkQuery();
$linkQuery->setLimit(10);
/* リンクを取得し、表示します */
$linkSet = $simpy->getLinks($linkQuery);
foreach ($linkSet as $link) {
}
/* 直近に追加されたリンクのうち、タイトルに 'PHP' が含まれるものを
5 件まで探します */
$linkQuery->setQueryString('title:PHP');
$linkQuery->setLimit(5);
/* タイトルに 'French'、タグに 'language' が含まれる
すべてのリンクを探します */
$linkQuery->setQueryString('+title:French +tags:language');
/* タイトルに 'French' を含み、タグに 'travel' を含まない
すべてのリンクを探します */
$linkQuery->setQueryString('+title:French -tags:travel');
/* 2006/12/09 に追加されたすべてのリンクを探します */
$linkQuery->setDate('2006-12-09');
/* 2006/12/09 より後 (その日を含まない) に追加された
すべてのリンクを探します */
$linkQuery->setAfterDate('2006-12-09');
/* 2006/12/09 より前 (その日を含まない) に追加された
すべてのリンクを探します */
$linkQuery->setBeforeDate('2006-12-09');
/* 2006/12/01 から 2006/12/09 (両端の日を含まない) に追加された
すべてのリンクを探します */
$linkQuery->setBeforeDate('2006-12-01');
$linkQuery->setAfterDate('2006-12-09');
リンクの識別は、URL によって行います。言い換えると、
既存のリンクと同じ URL のリンクを保存しようとすると
既存のリンクが新しいデータで上書きされるということです。
$simpy = new Zend_Service_Simpy('あなたのユーザ名', 'あなたのパスワード');
/* リンクを保存します */
$simpy->saveLink(
'Zend Framework' // タイトル
'http://framework.zend.com', // URL
Zend_Service_Simpy_Link::ACCESSTYPE_PUBLIC, // アクセス形式
'zend, framework, php' // タグ
'Zend Framework home page' // 別のタイトル
'This site rocks!' // メモ
);
/* 既存のリンクを新しいデータで上書きします */
$simpy->saveLink(
'Zend Framework'
'http://framework.zend.com',
Zend_Service_Simpy_Link::ACCESSTYPE_PRIVATE, // アクセス形式を変更しました
'php, zend, framework' // タグの順番を変更しました
'Zend Framework' // 別のタイトルを変更しました
'This site REALLY rocks!' // メモを変更しました
);
/* リンクを削除します */
$simpy->deleteLink('http://framework.zend.com');
/* あなたのリンクを大掃除する簡単な方法 (^o^) */
$linkSet = $this->_simpy->getLinks();
foreach ($linkSet as $link) {
$this->_simpy->deleteLink($link->getUrl());
}
メモ
メモの保存、取得および削除が可能です。
メモは、数値 ID によって識別されます。
$simpy = new Zend_Service_Simpy('あなたのユーザ名', 'あなたのパスワード');
/* メモを保存します */
$simpy->saveNote(
'Test Note', // タイトル
'test,note', // タグ
'This is a test note.' // 説明
);
/* 既存のメモを上書きします */
$simpy->saveNote(
'Updated Test Note', // タイトル
'test,note,updated', // タグ
'This is an updated test note.', // 説明
$note->getId() // 一意な ID
);
/* 直近に追加された 10 件のメモを探します */
$noteSet = $simpy->getNotes(null, 10);
/* メモを表示します */
foreach ($noteSet as $note) {
echo $note-> getDescription();
}
/* タイトルに 'PHP' が含まれるすべてのメモを探します */
$noteSet = $simpy->getNotes('title:PHP');
/* タイトルに 'PHP' が含まれ、説明に 'framework' が含まれない
すべてのメモを探します */
$noteSet = $simpy->getNotes('+title:PHP -description:framework');
/* メモを削除します */
$simpy->deleteNote($note->getId());
ウォッチリスト
ウォッチリストは、API を用いて作成したり削除したりすることはできません。
取得のみが可能です。したがって、API を使用してアクセスする前には
Simpy のウェブサイトでウォッチリストを作成しておく必要があります。
$simpy = new Zend_Service_Simpy('あなたのユーザ名', 'あなたのパスワード');
/* すべてのウォッチリストの一覧を取得します */
$watchlistSet = $simpy->getWatchlists();
/* 各ウォッチリストのデータを表示します */
foreach ($watchlistSet as $watchlist) {
echo $watchlist-> getId();
echo $watchlist-> getName();
echo $watchlist-> getDescription();
echo $watchlist-> getAddDate();
echo $watchlist-> getNewLinks();
foreach ($watchlist->getUsers() as $user) {
}
foreach ($watchlist->getFilters() as $filter) {
echo $filter-> getQuery();
}
}
/* 個々のウォッチリストを、ID を指定して取得します */
$watchlist = $simpy->getWatchlist($watchlist->getId());
$watchlist = $simpy->getWatchlist(1);
|
|