Zend_Service_Technorati.xml 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 24249 -->
  4. <sect1 id="zend.service.technorati">
  5. <!-- Skip-EN-Revisions: 22768 -->
  6. <title>Zend_Service_Technorati(日本語)</title>
  7. <sect2 id="zend.service.technorati.introduction">
  8. <title>導入</title>
  9. <para>
  10. <classname>Zend_Service_Technorati</classname> は、Technorati <acronym>API</acronym>
  11. を使うための簡単で直感的なオブジェクト指向インターフェイスを提供します。
  12. 利用可能なすべての
  13. <ulink url="http://technorati.com/developers/api/">Technorati <acronym>API</acronym> クエリ</ulink>
  14. にアクセスすることができ、<acronym>API</acronym> が返す XML
  15. 形式のレスポンスを <acronym>PHP</acronym> で扱いやすいオブジェクトで返します。
  16. </para>
  17. <para>
  18. <ulink url="http://technorati.com/">Technorati</ulink>
  19. は、人気のあるブログ検索エンジンのひとつです。その <acronym>API</acronym> を使用すると、
  20. 特定のブログについての情報を取得したり、
  21. 指定したタグやフレーズにマッチするブログの著者の情報を取得したりできます。
  22. 使用できるクエリの一覧は、
  23. <ulink url="http://technorati.com/developers/api/">Technorati <acronym>API</acronym> ドキュメント</ulink>
  24. あるいはこのドキュメントの
  25. <link linkend="zend.service.technorati.queries">使用できる Technorati クエリ</link>
  26. を参照ください。
  27. </para>
  28. </sect2>
  29. <sect2 id="zend.service.technorati.getting-started">
  30. <title>さあ始めましょう</title>
  31. <para>
  32. Technorati <acronym>API</acronym> を使用するには、キーが必要です。
  33. <acronym>API</acronym> キーを取得するには、まず最初に
  34. <ulink url="http://technorati.com/signup/">Technorati アカウントを作成</ulink>
  35. し、それから
  36. <ulink url="http://technorati.com/developers/apikey.html"><acronym>API</acronym> キーのセクション</ulink>
  37. に行ってください。
  38. </para>
  39. <note>
  40. <title>API キーの制限</title>
  41. <para>
  42. 一日あたり最大 500 までの Technorati <acronym>API</acronym> コールを無料で行うことができます。
  43. 現在の Technorati <acronym>API</acronym> のライセンスによってはその他の使用制限が適用されるかもしれません。
  44. </para>
  45. </note>
  46. <para>
  47. <acronym>API</acronym> キーを取得したら、いよいよ <classname>Zend_Service_Technorati</classname>
  48. を使うことができます。
  49. </para>
  50. </sect2>
  51. <sect2 id="zend.service.technorati.making-first-query">
  52. <title>はじめてのクエリ</title>
  53. <para>
  54. クエリを実行するにはまず最初に <acronym>API</acronym> キーを使用して
  55. <classname>Zend_Service_Technorati</classname> のインスタンスを作成します。
  56. そしてクエリの形式を選択し、引数を指定したうえでそれをコールします。
  57. </para>
  58. <example id="zend.service.technorati.making-first-query.example-1">
  59. <title>はじめてのクエリの実行</title>
  60. <programlisting language="php"><![CDATA[
  61. // API_KEY を指定して
  62. // Zend_Service_Technorati を作成します
  63. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  64. // Technorati で PHP というキーワードを検索します
  65. $resultSet = $technorati->search('PHP');
  66. ]]></programlisting>
  67. </example>
  68. <para>
  69. 検索用のメソッドにはオプションパラメータの配列を渡すことができます。
  70. これを使用すると、クエリをさらに絞り込むことができます。
  71. </para>
  72. <example id="zend.service.technorati.making-first-query.example-2">
  73. <title>クエリの精度の向上</title>
  74. <programlisting language="php"><![CDATA[
  75. // API_KEY を指定して
  76. // Zend_Service_Technorati を作成します
  77. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  78. // クエリをフィルタリングし、あまり影響力のない
  79. // (あまり他からリンクされていない) ブログを結果から除外します
  80. $options = array('authority' => 'a4');
  81. // Technorati で PHP というキーワードを検索します
  82. $resultSet = $technorati->search('PHP', $options);
  83. ]]></programlisting>
  84. </example>
  85. <para>
  86. <classname>Zend_Service_Technorati</classname> のインスタンスは使い捨てのオブジェクトではありません。
  87. したがって、クエリをコールするたびに毎回新たなインスタンスを作成するなどということは不要です。
  88. 一度作成した <classname>Zend_Service_Technorati</classname>
  89. オブジェクトを、気の済むまで使い回せばいいのです。
  90. </para>
  91. <example id="zend.service.technorati.making-first-query.example-3">
  92. <title>ひとつの Zend_Service_Technorati インスタンスでの複数のクエリの送信</title>
  93. <programlisting language="php"><![CDATA[
  94. // API_KEY を指定して
  95. // Zend_Service_Technorati を作成します
  96. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  97. // Technorati で PHP というキーワードを検索します
  98. $search = $technorati->search('PHP');
  99. // Technorati で一番よく登録されているタブを取得します
  100. $topTags = $technorati->topTags();
  101. ]]></programlisting>
  102. </example>
  103. </sect2>
  104. <sect2 id="zend.service.technorati.consuming-results">
  105. <title>結果の取得</title>
  106. <para>
  107. クエリの結果は、二種類の結果オブジェクトのうちのいずれかの形式で取得できます。
  108. </para>
  109. <para>
  110. まず最初の形式は <classname>Zend_Service_Technorati_*ResultSet</classname>
  111. オブジェクトで表されるものです。結果セットオブジェクトは、
  112. 基本的には結果オブジェクトのコレクションとなります。これは基底クラス
  113. <classname>Zend_Service_Technorati_ResultSet</classname> を継承したもので、
  114. <acronym>PHP</acronym> の <code>SeekableIterator</code> インターフェイスを実装しています。
  115. この結果セットを使用するいちばんよい方法は、<acronym>PHP</acronym> の <code>foreach</code>
  116. 文を用いてループ処理することです。
  117. </para>
  118. <example id="zend.service.technorati.consuming-results.example-1">
  119. <title>結果セットオブジェクトの取得</title>
  120. <programlisting language="php"><![CDATA[
  121. // API_KEY を指定して
  122. // Zend_Service_Technorati を作成します
  123. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  124. // Technorati で PHP というキーワードを検索します
  125. // $resultSet は Zend_Service_Technorati_SearchResultSet のインスタンスです
  126. $resultSet = $technorati->search('PHP');
  127. // 結果オブジェクトをループします
  128. foreach ($resultSet as $result) {
  129. // $result は Zend_Service_Technorati_SearchResult のインスタンスです
  130. }
  131. ]]></programlisting>
  132. </example>
  133. <para>
  134. <classname>Zend_Service_Technorati_ResultSet</classname> は <code>SeekableIterator</code>
  135. インターフェイスを実装しているので、結果コレクション内での位置を指定して
  136. 特定の結果オブジェクトを取得することもできます。
  137. </para>
  138. <example id="zend.service.technorati.consuming-results.example-2">
  139. <title>特定の結果セットオブジェクトの取得</title>
  140. <programlisting language="php"><![CDATA[
  141. // API_KEY を指定して
  142. // Zend_Service_Technorati を作成します
  143. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  144. // Technorati で PHP というキーワードを検索します
  145. // $resultSet は Zend_Service_Technorati_SearchResultSet のインスタンスです
  146. $resultSet = $technorati->search('PHP');
  147. // $result は Zend_Service_Technorati_SearchResult のインスタンスです
  148. $resultSet->seek(1);
  149. $result = $resultSet->current();
  150. ]]></programlisting>
  151. </example>
  152. <note>
  153. <para>
  154. <code>SeekableIterator</code> は配列として動作し、
  155. そのインデックスは 0 から始まります。インデックス 1
  156. を指定すると、コレクション内の 2 番目の結果を取得することになります。
  157. </para>
  158. </note>
  159. <para>
  160. 2 番目の形式は、単体の特別な結果オブジェクトで表されるものです。
  161. <classname>Zend_Service_Technorati_GetInfoResult</classname>、<classname>Zend_Service_Technorati_BlogInfoResult</classname>
  162. および <classname>Zend_Service_Technorati_KeyInfoResult</classname> は、
  163. <classname>Zend_Service_Technorati_Author</classname> や <classname>Zend_Service_Technorati_Weblog</classname>
  164. といったオブジェクトのラッパーとして働きます。
  165. </para>
  166. <example id="zend.service.technorati.consuming-results.example-3">
  167. <title>単体の結果オブジェクトの取得</title>
  168. <programlisting language="php"><![CDATA[
  169. // API_KEY を指定して
  170. // Zend_Service_Technorati を作成します
  171. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  172. // weppos についての情報を取得します
  173. $result = $technorati->getInfo('weppos');
  174. $author = $result->getAuthor();
  175. echo '<h2>' . $author->getFirstName() . ' ' . $author->getLastName() .
  176. ' のブログ</h2>';
  177. echo '<ol>';
  178. foreach ($result->getWeblogs() as $weblog) {
  179. echo '<li>' . $weblog->getName() . '</li>';
  180. }
  181. echo "</ol>";
  182. ]]></programlisting>
  183. </example>
  184. <para>
  185. レスポンスクラスの詳細については
  186. <link linkend="zend.service.technorati.classes">Zend_Service_Technorati クラス</link>
  187. のセクションを参照ください。
  188. </para>
  189. </sect2>
  190. <sect2 id="zend.service.technorati.handling-errors">
  191. <title>エラー処理</title>
  192. <para>
  193. <classname>Zend_Service_Technorati</classname> のクエリメソッドは、失敗したときには
  194. <classname>Zend_Service_Technorati_Exception</classname> をスローします。
  195. またその際にはわかりやすいエラーメッセージを提供します。
  196. </para>
  197. <para>
  198. <classname>Zend_Service_Technorati</classname> のクエリが失敗する原因は、いくつか考えられます。
  199. <classname>Zend_Service_Technorati</classname> は、クエリを送信する際にすべてのパラメータを検証します。
  200. もし無効なパラメータや無効な値を指定していた場合は
  201. <classname>Zend_Service_Technorati_Exception</classname> をスローします。
  202. さらに、Technorati <acronym>API</acronym> が一時的に使用できなくなっていたり、
  203. そのレスポンスが整形式でない場合もあり得るでしょう。
  204. </para>
  205. <para>
  206. Technorati のクエリは、常に <code>try</code>...<code>catch</code>
  207. ブロック内に記述するようにしましょう。
  208. </para>
  209. <example id="zend.service.technorati.handling-errors.example-1">
  210. <title>クエリの例外処理</title>
  211. <programlisting language="php"><![CDATA[
  212. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  213. try {
  214. $resultSet = $technorati->search('PHP');
  215. } catch(Zend_Service_Technorati_Exception $e) {
  216. echo "エラーが発生しました: " $e->getMessage();
  217. }
  218. ]]></programlisting>
  219. </example>
  220. </sect2>
  221. <sect2 id="zend.service.technorati.checking-api-daily-usage">
  222. <title>API キーの使用限度の確認</title>
  223. <para>
  224. 今日は後何回 <acronym>API</acronym> キーが使えるのかを調べたいことも多々あるでしょう。
  225. デフォルトでは、Technorati の <acronym>API</acronym> は 1 日あたり 500 回までしか使用することができません。
  226. それを超えて使用しようとすると、<classname>Zend_Service_Technorati</classname>
  227. は例外を返します。自分の <acronym>API</acronym> キーの使用状況を取得するには
  228. <methodname>Zend_Service_Technorati::keyInfo()</methodname> メソッドを使用します。
  229. </para>
  230. <para>
  231. <methodname>Zend_Service_Technorati::keyInfo()</methodname> は
  232. <classname>Zend_Service_Technorati_KeyInfoResult</classname> オブジェクトを返します。
  233. 詳細は
  234. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  235. を参照ください。
  236. </para>
  237. <example id="zend.service.technorati.checking-api-daily-usage.example-1">
  238. <title>API キーの使用状況の取得</title>
  239. <programlisting language="php"><![CDATA[
  240. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  241. $key = $technorati->keyInfo();
  242. echo "API Key: " . $key->getApiKey() . "<br />";
  243. echo "Daily Usage: " . $key->getApiQueries() . "/" .
  244. $key->getMaxQueries() . "<br />";
  245. ]]></programlisting>
  246. </example>
  247. </sect2>
  248. <sect2 id="zend.service.technorati.queries">
  249. <title>使用できる Technorati クエリ</title>
  250. <para>
  251. <classname>Zend_Service_Technorati</classname> は以下のクエリをサポートしています。
  252. <itemizedlist>
  253. <listitem><para><link linkend="zend.service.technorati.queries.cosmos"><code>Cosmos</code></link></para></listitem>
  254. <listitem><para><link linkend="zend.service.technorati.queries.search"><code>Search</code></link></para></listitem>
  255. <listitem><para><link linkend="zend.service.technorati.queries.tag"><code>Tag</code></link></para></listitem>
  256. <listitem><para><link linkend="zend.service.technorati.queries.dailycounts"><code>DailyCounts</code></link></para></listitem>
  257. <listitem><para><link linkend="zend.service.technorati.queries.toptags"><code>TopTags</code></link></para></listitem>
  258. <listitem><para><link linkend="zend.service.technorati.queries.bloginfo"><code>BlogInfo</code></link></para></listitem>
  259. <listitem><para><link linkend="zend.service.technorati.queries.blogposttags"><code>BlogPostTags</code></link></para></listitem>
  260. <listitem><para><link linkend="zend.service.technorati.queries.getinfo"><code>GetInfo</code></link></para></listitem>
  261. </itemizedlist>
  262. </para>
  263. <sect3 id="zend.service.technorati.queries.cosmos">
  264. <title>Technorati Cosmos</title>
  265. <para>
  266. <ulink url="http://technorati.com/developers/api/cosmos.html">Cosmos</ulink>
  267. クエリは、指定した URL にリンクしているブログを探します。このクエリは
  268. <link linkend="zend.service.technorati.classes.cosmosresultset"><classname>Zend_Service_Technorati_CosmosResultSet</classname></link>
  269. オブジェクトを返します。詳細は
  270. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  271. の <classname>Zend_Service_Technorati::cosmos()</classname> を参照ください。
  272. </para>
  273. <example id="zend.service.technorati.queries.cosmos.example-1">
  274. <title>Cosmos クエリ</title>
  275. <programlisting language="php"><![CDATA[
  276. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  277. $resultSet = $technorati->cosmos('http://devzone.zend.com/');
  278. echo "<p>Reading " . $resultSet->totalResults() .
  279. " of " . $resultSet->totalResultsAvailable() .
  280. " available results</p>";
  281. echo "<ol>";
  282. foreach ($resultSet as $result) {
  283. echo "<li>" . $result->getWeblog()->getName() . "</li>";
  284. }
  285. echo "</ol>";
  286. ]]></programlisting>
  287. </example>
  288. </sect3>
  289. <sect3 id="zend.service.technorati.queries.search">
  290. <title>Technorati Search</title>
  291. <para>
  292. <ulink url="http://technorati.com/developers/api/search.html">Search</ulink>
  293. クエリは、指定した検索文字列を含むブログを探します。このクエリは
  294. <link linkend="zend.service.technorati.classes.searchresultset"><classname>Zend_Service_Technorati_SearchResultSet</classname></link>
  295. オブジェクトを返します。詳細は
  296. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  297. の <classname>Zend_Service_Technorati::search()</classname> を参照ください。
  298. </para>
  299. <example id="zend.service.technorati.queries.search.example-1">
  300. <title>Search クエリ</title>
  301. <programlisting language="php"><![CDATA[
  302. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  303. $resultSet = $technorati->search('zend framework');
  304. echo "<p>Reading " . $resultSet->totalResults() .
  305. " of " . $resultSet->totalResultsAvailable() .
  306. " available results</p>";
  307. echo "<ol>";
  308. foreach ($resultSet as $result) {
  309. echo "<li>" . $result->getWeblog()->getName() . "</li>";
  310. }
  311. echo "</ol>";
  312. ]]></programlisting>
  313. </example>
  314. </sect3>
  315. <sect3 id="zend.service.technorati.queries.tag">
  316. <title>Technorati Tag</title>
  317. <para>
  318. <ulink url="http://technorati.com/developers/api/tag.html">Tag</ulink>
  319. クエリは、指定したタグがつけられている投稿を探します。このクエリは
  320. <link linkend="zend.service.technorati.classes.tagresultset"><classname>Zend_Service_Technorati_TagResultSet</classname></link>
  321. オブジェクトを返します。詳細は
  322. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  323. の <classname>Zend_Service_Technorati::tag()</classname> を参照ください。
  324. </para>
  325. <example id="zend.service.technorati.queries.tag.example-1">
  326. <title>Tag クエリ</title>
  327. <programlisting language="php"><![CDATA[
  328. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  329. $resultSet = $technorati->tag('php');
  330. echo "<p>Reading " . $resultSet->totalResults() .
  331. " of " . $resultSet->totalResultsAvailable() .
  332. " available results</p>";
  333. echo "<ol>";
  334. foreach ($resultSet as $result) {
  335. echo "<li>" . $result->getWeblog()->getName() . "</li>";
  336. }
  337. echo "</ol>";
  338. ]]></programlisting>
  339. </example>
  340. </sect3>
  341. <sect3 id="zend.service.technorati.queries.dailycounts">
  342. <title>Technorati DailyCounts</title>
  343. <para>
  344. <ulink url="http://technorati.com/developers/api/dailycounts.html">DailyCounts</ulink>
  345. クエリは、指定したキーワードを含む投稿の 1 日あたりの数を返します。このクエリは
  346. <link linkend="zend.service.technorati.classes.dailycountsresultset"><classname>Zend_Service_Technorati_DailyCountsResultSet</classname></link>
  347. オブジェクトを返します。詳細は
  348. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  349. の <classname>Zend_Service_Technorati::dailyCounts()</classname> を参照ください。
  350. </para>
  351. <example id="zend.service.technorati.queries.dailycounts.example-1">
  352. <title>DailyCounts クエリ</title>
  353. <programlisting language="php"><![CDATA[
  354. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  355. $resultSet = $technorati->dailyCounts('php');
  356. foreach ($resultSet as $result) {
  357. echo "<li>" . $result->getDate() .
  358. "(" . $result->getCount() . ")</li>";
  359. }
  360. echo "</ol>";
  361. ]]></programlisting>
  362. </example>
  363. </sect3>
  364. <sect3 id="zend.service.technorati.queries.toptags">
  365. <title>Technorati TopTags</title>
  366. <para>
  367. <ulink url="http://technorati.com/developers/api/toptags.html">TopTags</ulink>
  368. クエリは、Technorati にもっとも多く登録されているタグの情報を返します。このクエリは
  369. <link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link>
  370. オブジェクトを返します。詳細は
  371. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  372. の <classname>Zend_Service_Technorati::topTags()</classname> を参照ください。
  373. </para>
  374. <example id="zend.service.technorati.queries.toptags.example-1">
  375. <title>TopTags タグ</title>
  376. <programlisting language="php"><![CDATA[
  377. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  378. $resultSet = $technorati->topTags();
  379. echo "<p>Reading " . $resultSet->totalResults() .
  380. " of " . $resultSet->totalResultsAvailable() .
  381. " available results</p>";
  382. echo "<ol>";
  383. foreach ($resultSet as $result) {
  384. echo "<li>" . $result->getTag() . "</li>";
  385. }
  386. echo "</ol>";
  387. ]]></programlisting>
  388. </example>
  389. </sect3>
  390. <sect3 id="zend.service.technorati.queries.bloginfo">
  391. <title>Technorati BlogInfo</title>
  392. <para>
  393. <ulink url="http://technorati.com/developers/api/bloginfo.html">BlogInfo</ulink>
  394. は、指定した URL に関連するブログの情報を返します。このクエリは
  395. <link linkend="zend.service.technorati.classes.bloginforesult"><classname>Zend_Service_Technorati_BlogInfoResult</classname></link>
  396. オブジェクトを返します。詳細は
  397. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  398. の <classname>Zend_Service_Technorati::blogInfo()</classname> を参照ください。
  399. </para>
  400. <example id="zend.service.technorati.queries.bloginfo.example-1">
  401. <title>BlogInfo クエリ</title>
  402. <programlisting language="php"><![CDATA[
  403. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  404. $result = $technorati->blogInfo('http://devzone.zend.com/');
  405. echo '<h2><a href="' . (string) $result->getWeblog()->getUrl() . '">' .
  406. $result->getWeblog()->getName() . '</a></h2>';
  407. ]]></programlisting>
  408. </example>
  409. </sect3>
  410. <sect3 id="zend.service.technorati.queries.blogposttags">
  411. <title>Technorati BlogPostTags</title>
  412. <para>
  413. <ulink url="http://technorati.com/developers/api/blogposttags.html">BlogPostTags</ulink>
  414. クエリは、そのブログでよく使われているタグの情報を返します。このクエリは
  415. <link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link>
  416. オブジェクトを返します。詳細は
  417. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  418. の <classname>Zend_Service_Technorati::blogPostTags()</classname> を参照ください。
  419. </para>
  420. <example id="zend.service.technorati.queries.blogposttags.example-1">
  421. <title>BlogPostTags クエリ</title>
  422. <programlisting language="php"><![CDATA[
  423. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  424. $resultSet = $technorati->blogPostTags('http://devzone.zend.com/');
  425. echo "<p>Reading " . $resultSet->totalResults() .
  426. " of " . $resultSet->totalResultsAvailable() .
  427. " available results</p>";
  428. echo "<ol>";
  429. foreach ($resultSet as $result) {
  430. echo "<li>" . $result->getTag() . "</li>";
  431. }
  432. echo "</ol>";
  433. ]]></programlisting>
  434. </example>
  435. </sect3>
  436. <sect3 id="zend.service.technorati.queries.getinfo">
  437. <title>Technorati GetInfo</title>
  438. <para>
  439. <ulink url="http://technorati.com/developers/api/getinfo.html">GetInfo</ulink>
  440. クエリは、あるメンバーについて Technorati が把握している情報を返します。このクエリは
  441. <link linkend="zend.service.technorati.classes.getinforesult"><classname>Zend_Service_Technorati_GetInfoResult</classname></link>
  442. オブジェクトを返します。詳細は
  443. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  444. の <classname>Zend_Service_Technorati::getInfo()</classname> を参照ください。
  445. </para>
  446. <example id="zend.service.technorati.queries.getinfo.example-1">
  447. <title>GetInfo クエリ</title>
  448. <programlisting language="php"><![CDATA[
  449. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  450. $result = $technorati->getInfo('weppos');
  451. $author = $result->getAuthor();
  452. echo "<h2>Blogs authored by " . $author->getFirstName() . " " .
  453. $author->getLastName() . "</h2>";
  454. echo "<ol>";
  455. foreach ($result->getWeblogs() as $weblog) {
  456. echo "<li>" . $weblog->getName() . "</li>";
  457. }
  458. echo "</ol>";
  459. ]]></programlisting>
  460. </example>
  461. </sect3>
  462. <sect3 id="zend.service.technorati.queries.keyinfo">
  463. <title>Technorati KeyInfo</title>
  464. <para>
  465. KeyInfo クエリは、<acronym>API</acronym> キーの使用状況についての情報を返します。このクエリは
  466. <link linkend="zend.service.technorati.classes.keyinforesult"><classname>Zend_Service_Technorati_KeyInfoResult</classname></link>
  467. オブジェクトを返します。詳細は
  468. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  469. の <classname>Zend_Service_Technorati::keyInfo()</classname> を参照ください。
  470. </para>
  471. </sect3>
  472. </sect2>
  473. <sect2 id="zend.service.technorati.classes">
  474. <title>Zend_Service_Technorati クラス</title>
  475. <para>
  476. 以下のクラスは、Technorati の各種クエリから返されるものです。
  477. <classname>Zend_Service_Technorati_*ResultSet</classname> 系のクラスは、
  478. それぞれの形式にあわせた結果セットを保持します。
  479. その中身は形式にあわせた結果オブジェクトであり、容易に処理できます。
  480. これらの結果セットクラスはすべて
  481. <classname>Zend_Service_Technorati_ResultSet</classname> クラスを継承しており、かつ
  482. <code>SeekableIterator</code> インターフェイスを実装しています。
  483. これによって、結果のループ処理や特定の結果の取り出しが簡単にできるようになります。
  484. <itemizedlist>
  485. <listitem><para><link linkend="zend.service.technorati.classes.resultset"><classname>Zend_Service_Technorati_ResultSet</classname></link></para></listitem>
  486. <listitem><para><link linkend="zend.service.technorati.classes.cosmosresultset"><classname>Zend_Service_Technorati_CosmosResultSet</classname></link></para></listitem>
  487. <listitem><para><link linkend="zend.service.technorati.classes.searchresultset"><classname>Zend_Service_Technorati_SearchResultSet</classname></link></para></listitem>
  488. <listitem><para><link linkend="zend.service.technorati.classes.tagresultset"><classname>Zend_Service_Technorati_TagResultSet</classname></link></para></listitem>
  489. <listitem><para><link linkend="zend.service.technorati.classes.dailycountsresultset"><classname>Zend_Service_Technorati_DailyCountsResultSet</classname></link></para></listitem>
  490. <listitem><para><link linkend="zend.service.technorati.classes.tagsresultset"><classname>Zend_Service_Technorati_TagsResultSet</classname></link></para></listitem>
  491. <listitem><para><link linkend="zend.service.technorati.classes.result"><classname>Zend_Service_Technorati_Result</classname></link></para></listitem>
  492. <listitem><para><link linkend="zend.service.technorati.classes.cosmosresult"><classname>Zend_Service_Technorati_CosmosResult</classname></link></para></listitem>
  493. <listitem><para><link linkend="zend.service.technorati.classes.searchresult"><classname>Zend_Service_Technorati_SearchResult</classname></link></para></listitem>
  494. <listitem><para><link linkend="zend.service.technorati.classes.tagresult"><classname>Zend_Service_Technorati_TagResult</classname></link></para></listitem>
  495. <listitem><para><link linkend="zend.service.technorati.classes.dailycountsresult"><classname>Zend_Service_Technorati_DailyCountsResult</classname></link></para></listitem>
  496. <listitem><para><link linkend="zend.service.technorati.classes.tagsresult"><classname>Zend_Service_Technorati_TagsResult</classname></link></para></listitem>
  497. <listitem><para><link linkend="zend.service.technorati.classes.getinforesult"><classname>Zend_Service_Technorati_GetInfoResult</classname></link></para></listitem>
  498. <listitem><para><link linkend="zend.service.technorati.classes.bloginforesult"><classname>Zend_Service_Technorati_BlogInfoResult</classname></link></para></listitem>
  499. <listitem><para><link linkend="zend.service.technorati.classes.keyinforesult"><classname>Zend_Service_Technorati_KeyInfoResult</classname></link></para></listitem>
  500. </itemizedlist>
  501. </para>
  502. <note>
  503. <para>
  504. <classname>Zend_Service_Technorati_GetInfoResult</classname>、
  505. <classname>Zend_Service_Technorati_BlogInfoResult</classname>
  506. そして <classname>Zend_Service_Technorati_KeyInfoResult</classname>
  507. には上にあげたクラスと異なる点があります。これらは結果セットに属しておらず、
  508. インターフェイスを実装していません。これらは単一のレスポンスオブジェクトを表し、
  509. <classname>Zend_Service_Technorati_Author</classname> や <classname>Zend_Service_Technorati_Weblog</classname>
  510. といった <classname>Zend_Service_Technorati</classname> のオブジェクトのラッパーとして働きます。
  511. </para>
  512. </note>
  513. <para>
  514. <classname>Zend_Service_Technorati</classname> には、これ以外にも
  515. 特定のレスポンスオブジェクトを表す便利なクラスが含まれています。
  516. <classname>Zend_Service_Technorati_Author</classname> は、Technorati のアカウント
  517. (ブログの著者、いわゆるブロガー) を表します。
  518. <classname>Zend_Service_Technorati_Weblog</classname> は単一のウェブログオブジェクトを表します。
  519. ここには、フィードの URL やブログ名などの情報が含まれます。詳細は
  520. <ulink url="http://framework.zend.com/apidoc/core/"><acronym>API</acronym> リファレンスガイド</ulink>
  521. の <classname>Zend_Service_Technorati</classname> を参照ください。
  522. </para>
  523. <sect3 id="zend.service.technorati.classes.resultset">
  524. <title>Zend_Service_Technorati_ResultSet</title>
  525. <para>
  526. <classname>Zend_Service_Technorati_ResultSet</classname> は最も重要な結果セットです。
  527. クエリ固有の結果セットクラス群はこのクラスを継承して作成しています。
  528. このクラス自体のインスタンスを直接作成してはいけません。
  529. 各子クラスは、クエリの種類に応じた
  530. <link linkend="zend.service.technorati.classes.result"><classname>Zend_Service_Technorati_Result</classname></link>
  531. オブジェクトのコレクションを表します。
  532. </para>
  533. <para>
  534. <classname>Zend_Service_Technorati_ResultSet</classname> は <acronym>PHP</acronym> の <code>SeekableIterator</code>
  535. インターフェイスを実装しており、<code>foreach</code>
  536. 文で結果を処理できます。
  537. </para>
  538. <example id="zend.service.technorati.classes.resultset.example-1">
  539. <title>結果セットコレクション内の結果オブジェクトの反復処理</title>
  540. <programlisting language="php"><![CDATA[
  541. // 単純なクエリを実行します
  542. $technorati = new Zend_Service_Technorati('VALID_API_KEY');
  543. $resultSet = $technorati->search('php');
  544. // $resultSet は Zend_Service_Technorati_SearchResultSet
  545. // のインスタンスです
  546. // これは Zend_Service_Technorati_ResultSet を継承しています
  547. foreach ($resultSet as $result) {
  548. // Zend_Service_Technorati_SearchResult オブジェクトに対して
  549. // 何らかの操作をします
  550. }
  551. ]]></programlisting>
  552. </example>
  553. </sect3>
  554. <sect3 id="zend.service.technorati.classes.cosmosresultset">
  555. <title>Zend_Service_Technorati_CosmosResultSet</title>
  556. <para>
  557. <classname>Zend_Service_Technorati_CosmosResultSet</classname> は
  558. Technorati Cosmos クエリの結果セットを表します。
  559. </para>
  560. <note>
  561. <para>
  562. <classname>Zend_Service_Technorati_CosmosResultSet</classname> は
  563. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>
  564. を継承しています。
  565. </para>
  566. </note>
  567. </sect3>
  568. <sect3 id="zend.service.technorati.classes.searchresultset">
  569. <title>Zend_Service_Technorati_SearchResultSet</title>
  570. <para>
  571. <classname>Zend_Service_Technorati_SearchResultSet</classname> は
  572. Technorati Search クエリの結果セットを表します。
  573. </para>
  574. <note>
  575. <para>
  576. <classname>Zend_Service_Technorati_SearchResultSet</classname> は
  577. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>
  578. を継承しています。
  579. </para>
  580. </note>
  581. </sect3>
  582. <sect3 id="zend.service.technorati.classes.tagresultset">
  583. <title>Zend_Service_Technorati_TagResultSet</title>
  584. <para>
  585. <classname>Zend_Service_Technorati_TagResultSet</classname> は
  586. Technorati Tag クエリの結果セットを表します。
  587. </para>
  588. <note>
  589. <para>
  590. <classname>Zend_Service_Technorati_TagResultSet</classname> は
  591. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>
  592. を継承しています。
  593. </para>
  594. </note>
  595. </sect3>
  596. <sect3 id="zend.service.technorati.classes.dailycountsresultset">
  597. <title>Zend_Service_Technorati_DailyCountsResultSet</title>
  598. <para>
  599. <classname>Zend_Service_Technorati_DailyCountsResultSet</classname> は
  600. Technorati DailyCounts クエリの結果セットを表します。
  601. </para>
  602. <note>
  603. <para>
  604. <classname>Zend_Service_Technorati_DailyCountsResultSet</classname> は
  605. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>
  606. を継承しています。
  607. </para>
  608. </note>
  609. </sect3>
  610. <sect3 id="zend.service.technorati.classes.tagsresultset">
  611. <title>Zend_Service_Technorati_TagsResultSet</title>
  612. <para>
  613. <classname>Zend_Service_Technorati_TagsResultSet</classname> は
  614. Technorati TopTags あるいは BlogPostTags クエリの結果セットを表します。
  615. </para>
  616. <note>
  617. <para>
  618. <classname>Zend_Service_Technorati_TagsResultSet</classname> は
  619. <link linkend="zend.service.technorati.classes.resultset">Zend_Service_Technorati_ResultSet</link>
  620. を継承しています。
  621. </para>
  622. </note>
  623. </sect3>
  624. <sect3 id="zend.service.technorati.classes.result">
  625. <title>Zend_Service_Technorati_Result</title>
  626. <para>
  627. <classname>Zend_Service_Technorati_Result</classname> は最も重要な結果オブジェクトです。
  628. クエリ固有の結果クラス群はこのクラスを継承して作成しています。
  629. このクラス自体のインスタンスを直接作成してはいけません。
  630. </para>
  631. </sect3>
  632. <sect3 id="zend.service.technorati.classes.cosmosresult">
  633. <title>Zend_Service_Technorati_CosmosResult</title>
  634. <para>
  635. <classname>Zend_Service_Technorati_CosmosResult</classname> は
  636. Technorati Cosmos クエリの単一の結果オブジェクトを表します。
  637. 単体のオブジェクトとして返されることはなく、常に
  638. <link linkend="zend.service.technorati.classes.cosmosresultset">Zend_Service_Technorati_CosmosResultSet</link>
  639. オブジェクトに含まれる形式で返されます。
  640. </para>
  641. <note>
  642. <para>
  643. <classname>Zend_Service_Technorati_CosmosResult</classname> は
  644. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>
  645. を継承しています。
  646. </para>
  647. </note>
  648. </sect3>
  649. <sect3 id="zend.service.technorati.classes.searchresult">
  650. <title>Zend_Service_Technorati_SearchResult</title>
  651. <para>
  652. <classname>Zend_Service_Technorati_SearchResult</classname> は
  653. Technorati Search クエリの単一の結果オブジェクトを表します。
  654. 単体のオブジェクトとして返されることはなく、常に
  655. <link linkend="zend.service.technorati.classes.searchresultset">Zend_Service_Technorati_SearchResultSet</link>
  656. オブジェクトに含まれる形式で返されます。
  657. </para>
  658. <note>
  659. <para>
  660. <classname>Zend_Service_Technorati_SearchResult</classname> は
  661. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>
  662. を継承しています。
  663. </para>
  664. </note>
  665. </sect3>
  666. <sect3 id="zend.service.technorati.classes.tagresult">
  667. <title>Zend_Service_Technorati_TagResult</title>
  668. <para>
  669. <classname>Zend_Service_Technorati_TagResult</classname> は
  670. Technorati Tag クエリの単一の結果オブジェクトを表します。
  671. 単体のオブジェクトとして返されることはなく、常に
  672. <link linkend="zend.service.technorati.classes.tagresultset">Zend_Service_Technorati_TagResultSet</link>
  673. オブジェクトに含まれる形式で返されます。
  674. </para>
  675. <note>
  676. <para>
  677. <classname>Zend_Service_Technorati_TagResult</classname> は
  678. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>
  679. を継承しています。
  680. </para>
  681. </note>
  682. </sect3>
  683. <sect3 id="zend.service.technorati.classes.dailycountsresult">
  684. <title>Zend_Service_Technorati_DailyCountsResult</title>
  685. <para>
  686. <classname>Zend_Service_Technorati_DailyCountsResult</classname> は
  687. Technorati DailyCounts クエリの単一の結果オブジェクトを表します。
  688. 単体のオブジェクトとして返されることはなく、常に
  689. <link linkend="zend.service.technorati.classes.dailycountsresultset">Zend_Service_Technorati_DailyCountsResultSet</link>
  690. オブジェクトに含まれる形式で返されます。
  691. </para>
  692. <note>
  693. <para>
  694. <classname>Zend_Service_Technorati_DailyCountsResult</classname> は
  695. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>
  696. を継承しています。
  697. </para>
  698. </note>
  699. </sect3>
  700. <sect3 id="zend.service.technorati.classes.tagsresult">
  701. <title>Zend_Service_Technorati_TagsResult</title>
  702. <para>
  703. <classname>Zend_Service_Technorati_TagsResult</classname> は
  704. Technorati TopTags あるいは BlogPostTags クエリの単一の結果オブジェクトを表します。
  705. 単体のオブジェクトとして返されることはなく、常に
  706. <link linkend="zend.service.technorati.classes.tagsresultset">Zend_Service_Technorati_TagsResultSet </link>
  707. オブジェクトに含まれる形式で返されます。
  708. </para>
  709. <note>
  710. <para>
  711. <classname>Zend_Service_Technorati_TagsResult</classname> は
  712. <link linkend="zend.service.technorati.classes.result">Zend_Service_Technorati_Result</link>
  713. を継承しています。
  714. </para>
  715. </note>
  716. </sect3>
  717. <sect3 id="zend.service.technorati.classes.getinforesult">
  718. <title>Zend_Service_Technorati_GetInfoResult</title>
  719. <para>
  720. <classname>Zend_Service_Technorati_GetInfoResult</classname> は
  721. Technorati GetInfo クエリの単一の結果オブジェクトを表します。
  722. </para>
  723. </sect3>
  724. <sect3 id="zend.service.technorati.classes.bloginforesult">
  725. <title>Zend_Service_Technorati_BlogInfoResult</title>
  726. <para>
  727. <classname>Zend_Service_Technorati_BlogInfoResult</classname> は
  728. Technorati BlogInfo クエリの単一の結果オブジェクトを表します。
  729. </para>
  730. </sect3>
  731. <sect3 id="zend.service.technorati.classes.keyinforesult">
  732. <title>Zend_Service_Technorati_KeyInfoResult</title>
  733. <para>
  734. <classname>Zend_Service_Technorati_KeyInfoResult</classname> は
  735. Technorati KeyInfo クエリの単一の結果オブジェクトを表します。
  736. これは
  737. <link linkend="zend.service.technorati.checking-api-daily-usage">Technorati <acronym>API</acronym> キーの使用状況</link>
  738. についての情報を提供します。
  739. </para>
  740. </sect3>
  741. </sect2>
  742. </sect1>