Zend_Service_Twitter.xml 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.service.twitter" xmlns:xi="http://www.w3.org/2001/XInclude">
  5. <title>Zend_Service_Twitter</title>
  6. <sect2 id="zend.service.twitter.introduction">
  7. <title>Einführung</title>
  8. <para>
  9. <classname>Zend_Service_Twitter</classname> bietet einen Client für die <ulink
  10. url="http://apiwiki.twitter.com/Twitter-API-Documentation"><acronym>REST</acronym>
  11. <acronym>API</acronym> von Twitter</ulink>.
  12. <classname>Zend_Service_Twitter</classname> erlaubt es eine öffentliche Zeitachse
  13. abzufragen. Wenn man einen Benutzernamen und ein OAuth Details für Twitter angibt, ist
  14. es auch erlaubt den eigenen Status zu erhalten und zu aktualisieren, Freunden zu
  15. antworten, Nachrichten an Freunde schicken, Tweets als Favoriten markieren und vieles
  16. mehr.
  17. </para>
  18. <para>
  19. <classname>Zend_Service_Twitter</classname> implementiert einen <acronym>REST</acronym>
  20. Service und alle Methoden geben eine Instanz von
  21. <classname>Zend_Rest_Client_Result</classname> zurück.
  22. </para>
  23. <para>
  24. <classname>Zend_Service_Twitter</classname> ist in Untersektionen geteilt damit man
  25. einfachst erkennen kann welcher Typ von Aufrufen angefragt wird.
  26. </para>
  27. <itemizedlist>
  28. <listitem>
  29. <para>
  30. <code>account</code> stellt sicher das die eigenen Zugangsdaten gültig sind,
  31. prüft das <acronym>API</acronym> Limit und beendet die aktuelle Session für den
  32. authentifizierten Benutzer.
  33. </para>
  34. </listitem>
  35. <listitem>
  36. <para>
  37. <code>status</code> empfängt die öffentlichen und die Zeitlinien von Benutzern,
  38. und zeigt den authentifizierten Benutzer an, aktualsiert Ihn, zerstört Ihn und
  39. empfängt Antworten.
  40. </para>
  41. </listitem>
  42. <listitem>
  43. <para>
  44. <code>user</code> empfängt Freunde und Verfolger des authentifizierten
  45. Benutzers und gibt erweiterte Informationen über den angegebenen Benutzer
  46. zurück.
  47. </para>
  48. </listitem>
  49. <listitem>
  50. <para>
  51. <code>directMessage</code> empfängt die direkten Nachrichten des
  52. authentifizierten Benutzers, löscht direkte Nachrichten und sendet neue direkte
  53. Nachrichten.
  54. </para>
  55. </listitem>
  56. <listitem>
  57. <para>
  58. <code>friendship</code> erstellt und entfernt Freundschaften für den
  59. authentifizierten Benutzer.
  60. </para>
  61. </listitem>
  62. <listitem>
  63. <para>
  64. <code>favorite</code> zeigt, erstellt und entfernt favorisierte Tweets.
  65. </para>
  66. </listitem>
  67. <listitem>
  68. <para>
  69. <code>block</code> blockiert und entfernt die Blockierung von Benutzern welche
  70. einem folgen.
  71. </para>
  72. </listitem>
  73. </itemizedlist>
  74. </sect2>
  75. <sect2 id="zend.service.twitter.authentication">
  76. <title>Authentifizierung</title>
  77. <para>
  78. Mit der Ausnahme des Holens der öffentlichen Zeitlinie benötigt
  79. <classname>Zend_Service_Twitter</classname> eine Authentifizierung als gültiger
  80. Benutzer. Das wird erreicht indem das OAuth Authentifizierungs Protokoll verwendet wird.
  81. OAuth ist der einzige unterstützte Authentifizierungsmodus für Twitter ab August 2010.
  82. Die OAuth Implementierung welche von <classname>Zend_Service_Twitter</classname>
  83. verwendet wird ist <classname>Zend_OAuth</classname>.
  84. </para>
  85. <example id="zend.service.twitter.authentication.example">
  86. <title>Erstellung der Twitter Klasse</title>
  87. <para>
  88. <classname>Zend_Service_Twitter</classname> muss sich selbst authorisieren, durch
  89. den Benutzer, bevor es mit der Twitter API verwendet werden kann (außer für die
  90. öffentlichen Bereiche). Das muss durch Verwendung von OAuth durchgeführt werden da
  91. Twitter seine grundsätzliche HTTP Authentifizierung mit August 2010 deaktiviert hat.
  92. </para>
  93. <para>
  94. Es gibt zwei Optionen um Authorisierung zu ermöglichen. Der erste ist die
  95. Implementierung des Workflows von <classname>Zend_Oauth</classname> über
  96. <classname>Zend_Service_Twitter</classname> welche zu einem internen
  97. <classname>Zend_Oauth_Consumer</classname> Objekt weiterleitet. Bitte sehen Sie in
  98. die Dokumentation von <classname>Zend_Oauth</classname> für ein vollständiges
  99. Beispiel dieses Workflows - man kann alle dokumentierten Methoden von
  100. <classname>Zend_Oauth_Consumer</classname> auf
  101. <classname>Zend_Service_Twitter</classname> aufrufen inklusive der Optionen des
  102. Constructors. Man kann <classname>Zend_Oauth</classname> auch direkt verwenden und
  103. nur den sich ergebenden Zugriffstoken an <classname>Zend_Service_Twitter</classname>
  104. übergeben. Das ist der normale Workflow sobald man einen wiederverwendbaren
  105. Zugriffstoken für einen bestimmten Twitter Benutzer bereitgestellt bekommt. Der sich
  106. ergebende Token für den Zugriff mit OAuth sollte für die zukünftige Verwendung in
  107. einer Datenbank gespeichert werden (andernfalls muss man sich für jede neue Instanz
  108. von <classname>Zend_Service_Twitter</classname> authorisieren). Man sollte im Kopf
  109. behalten dass die Authorisierung über OAuth dazu führt dass der Benutzer zu Twitter
  110. umgeleitet wird um seine Bestätigung zur beantragten Authorisierung zu geben (das
  111. wird für gespeicherte Zugriffstokens nicht wiederholt). Das benötigt zusätzliche
  112. Arbeit (z.B. Umleiten von Benutzern und Bereitstellen einer Callback URL) über den
  113. vorherigen HTTP Authentofizierungs Mechanismus bei dem ein Benutzer Anwendungen nur
  114. erlaubt seinen Benutzernamen und sein Passwort zu speichern.
  115. </para>
  116. <para>
  117. Das folgende Beispiel demonstriert das Setup von
  118. <classname>Zend_Service_Twitter</classname> welchem ein bereits bereitgestellter
  119. OAuth Zugriffstoken angegeben wird. Der Zugriffstoken ist ein Serialisiertes Objekt,
  120. damit man dass serialisierte Objekt in einer Datenbank speichern kann, und es zum
  121. Zeitpunkt des Empfangs deserialisiert bevor die Objekte an
  122. <classname>Zend_Service_Twitter</classname> übergeben werden. Die Dokumentation von
  123. <classname>Zend_Oauth</classname> demonstriert den Workflow wenn Objekte involviert
  124. sind.
  125. </para>
  126. <programlisting language="php"><![CDATA[
  127. /**
  128. * Wir nehmen an dass $serializedToken der serialisierte Token ist welchen wir
  129. * von einer Datenbank oder sogar von $_SESSION bekommen haben
  130. * (wenn dem einfachen dokumentierten Beispiel von Zend_Oauth gefolgt wird)
  131. */
  132. $token = unserialize($serializedToken);
  133. $twitter = new Zend_Service_Twitter(array(
  134. 'username' => 'johndoe',
  135. 'accessToken' => $token
  136. ));
  137. // Die Daten des Benutzers mit Twitter prüfen
  138. $response = $twitter->account->verifyCredentials();
  139. ]]></programlisting>
  140. </example>
  141. <note>
  142. <para>
  143. Um sich bei Twitter zu authentifizieren, MÜSSEN ALLE Anwendungen bei Twitter
  144. registriert werden um einen Kunden Schlüssel und ein Kunden Geheimnis zu
  145. erhalten welches benutzt wird wenn mit OAuth authentifiziert wird. Diese können
  146. nicht zwischen mehreren Anwendungen wiederverwendet werden - man muss jede neue
  147. Anwendung separat registrieren. Zugriffstoken von Twitter haben kein
  148. Ablaufdatum, deshalb ist deren Speicherung in einer Datenbank zu empfehlen (sie
  149. können natürlich aktualisiert werden indem der OAuth Prozess der Authorisierung
  150. wiederholt wird). Das kann nur getan werden indem mit dem betreffenden Benutzer,
  151. welchem der Zugriffstoken gehört, interagiert wird.
  152. </para>
  153. <para>
  154. Die vorher gezeigte pre-OAuth Version von
  155. <classname>Zend_Service_Twitter</classname> erlaubte die Übergabe eines
  156. Benutzernamens als ersten Parameter statt in einem Array. Dies wird nicht länger
  157. unterstützt.
  158. </para>
  159. </note>
  160. </sect2>
  161. <sect2 id="zend.service.twitter.account">
  162. <title>Account Methoden</title>
  163. <itemizedlist>
  164. <listitem>
  165. <para>
  166. <methodname>verifyCredentials()</methodname> testet ob die
  167. angegebenen Benutzerdaten gültig sind, und das mit einem minimalen Overhead.
  168. </para>
  169. <example id="zend.service.twitter.account.verifycredentails">
  170. <title>Die Angaben prüfen</title>
  171. <programlisting language="php"><![CDATA[
  172. $twitter = new Zend_Service_Twitter(array(
  173. 'username' => 'johndoe',
  174. 'accessToken' => $token
  175. ));
  176. $response = $twitter->account->verifyCredentials();
  177. ]]></programlisting>
  178. </example>
  179. </listitem>
  180. <listitem>
  181. <para>
  182. <methodname>endSession()</methodname> meldet Benutzer aus der
  183. Clientanwendung ab.
  184. </para>
  185. <example id="zend.service.twitter.account.endsession">
  186. <title>Beenden von Sessions</title>
  187. <programlisting language="php"><![CDATA[
  188. $twitter = new Zend_Service_Twitter(array(
  189. 'username' => 'johndoe',
  190. 'accessToken' => $token
  191. ));
  192. $response = $twitter->account->endSession();
  193. ]]></programlisting>
  194. </example>
  195. </listitem>
  196. <listitem>
  197. <para>
  198. <methodname>rateLimitStatus()</methodname> gibt die restliche Anzahl von
  199. <acronym>API</acronym> Anfragen zurück die der authentifizierte Benutzer noch
  200. hat, bevor das <acronym>API</acronym> Limit für die aktuelle Stunde erreicht
  201. ist.
  202. </para>
  203. <example id="zend.service.twitter.account.ratelimitstatus">
  204. <title>Status des Rating Limits</title>
  205. <programlisting language="php"><![CDATA[
  206. $twitter = new Zend_Service_Twitter(array(
  207. 'username' => 'johndoe',
  208. 'accessToken' => $token
  209. ));
  210. $response = $twitter->account->rateLimitStatus();
  211. ]]></programlisting>
  212. </example>
  213. </listitem>
  214. </itemizedlist>
  215. </sect2>
  216. <sect2 id="zend.service.twitter.status">
  217. <title>Status Methoden</title>
  218. <itemizedlist>
  219. <listitem>
  220. <para>
  221. <methodname>publicTimeline()</methodname> gibt die 20 letzten Statusmeldungen
  222. von nicht geschützten Benutzern mit einem eigenen Benutzericon zurück. Die
  223. öffentliche Zeitlinie wird von Twitter alle 60 Sekunden gecacht.
  224. </para>
  225. <example id="zend.service.twitter.status.publictimeline">
  226. <title>Empfangen der öffentlichen Zeitlinie</title>
  227. <programlisting language="php"><![CDATA[
  228. $twitter = new Zend_Service_Twitter(array(
  229. 'username' => 'johndoe',
  230. 'accessToken' => $token
  231. ));
  232. $response = $twitter->status->publicTimeline();
  233. ]]></programlisting>
  234. </example>
  235. </listitem>
  236. <listitem>
  237. <para>
  238. <methodname>friendsTimeline()</methodname> gibt die 20 letzten Statusmeldungen
  239. zurück die von authentifizierten Benutzer und deren Freunde gesendet wurden.
  240. </para>
  241. <example id="zend.service.twitter.status.friendstimeline">
  242. <title>Empfangen der Zeitlinie von Freunden</title>
  243. <programlisting language="php"><![CDATA[
  244. $twitter = new Zend_Service_Twitter(array(
  245. 'username' => 'johndoe',
  246. 'accessToken' => $token
  247. ));
  248. $response = $twitter->status->friendsTimeline();
  249. ]]></programlisting>
  250. </example>
  251. <para>
  252. Die <methodname>friendsTimeline()</methodname> Methode akzeptiert ein Array
  253. von optionalen Parameters um die Abfrage zu verändern.
  254. </para>
  255. <itemizedlist>
  256. <listitem>
  257. <para>
  258. <code>since</code> grenzt die zurückgegeben Ergebnisse auf jene
  259. Statusmeldungen ein die nach dem spezifizierten Datum/Zeit (bis zu 24
  260. Stunden alt) erstellt wurden.
  261. </para>
  262. </listitem>
  263. <listitem>
  264. <para>
  265. <code>page</code> spezifiziert die Seite die man zurückbekommen will.
  266. </para>
  267. </listitem>
  268. </itemizedlist>
  269. </listitem>
  270. <listitem>
  271. <para>
  272. <methodname>userTimeline()</methodname> gibt die 20 letzten Statusmeldungen
  273. zurück die von authentifizierten Benutzern geschrieben wurden.
  274. </para>
  275. <example id="zend.service.twitter.status.usertimeline">
  276. <title>Empfangen der Zeitlinie von Benutzern</title>
  277. <programlisting language="php"><![CDATA[
  278. $twitter = new Zend_Service_Twitter(array(
  279. 'username' => 'johndoe',
  280. 'accessToken' => $token
  281. ));
  282. $response = $twitter->status->userTimeline();
  283. ]]></programlisting>
  284. </example>
  285. <para>
  286. Die <methodname>userTimeline()</methodname> Methode akzeptiert ein Array von
  287. optionalen Parametern um die Abfrage zu verändern.
  288. </para>
  289. <itemizedlist>
  290. <listitem>
  291. <para>
  292. <code>id</code> spezifiziert die ID oder den Bildschirmnamen des
  293. Benutzers für den die friends_timeline zurückzugeben ist.
  294. </para>
  295. </listitem>
  296. <listitem>
  297. <para>
  298. <code>since</code> grenzt die zurückzugebenden Ergebnisse auf jene
  299. Stati ein die nach dem spezifizierten Datum/Zeit (bis zu 24 Stunden als)
  300. erstellt wurden.
  301. </para>
  302. </listitem>
  303. <listitem>
  304. <para>
  305. <code>page</code> spezifiziert welche Seite zurückgegeben werden soll.
  306. </para>
  307. </listitem>
  308. <listitem>
  309. <para>
  310. <code>count</code> spezifiziert die Anzahl der Stati die man erhalten
  311. will. Kann nicht größer als 200 sein.
  312. </para>
  313. </listitem>
  314. </itemizedlist>
  315. </listitem>
  316. <listitem>
  317. <para>
  318. <methodname>show()</methodname> gibt einen einzelnen Status zurück, der durch
  319. den ID Parameter, wie anbei, spezifiziert wird. Der Author des Status wird auch
  320. zurückgegeben.
  321. </para>
  322. <example id="zend.service.twitter.status.show">
  323. <title>Den Status eines Benutzers sehen</title>
  324. <programlisting language="php"><![CDATA[
  325. $twitter = new Zend_Service_Twitter(array(
  326. 'username' => 'johndoe',
  327. 'accessToken' => $token
  328. ));
  329. $response = $twitter->status->show(1234);
  330. ]]></programlisting>
  331. </example>
  332. </listitem>
  333. <listitem>
  334. <para>
  335. <methodname>update()</methodname> aktualisiert den Status des authentifizierten
  336. Benutzers. Diese Methode erwartet das der aktualisierte Status übergeben wird
  337. den man an Twitter übermitteln will.
  338. </para>
  339. <example id="zend.service.twitter.status.update">
  340. <title>Aktualisieren des Benutzerstatus</title>
  341. <programlisting language="php"><![CDATA[
  342. $twitter = new Zend_Service_Twitter(array(
  343. 'username' => 'johndoe',
  344. 'accessToken' => $token
  345. ));
  346. $response = $twitter->status->update('Mein größter Tweet');
  347. ]]></programlisting>
  348. </example>
  349. <para>
  350. Die <methodname>update()</methodname> Methode akzeptiert einen zweiten
  351. optionalen Parameter.
  352. </para>
  353. <itemizedlist>
  354. <listitem>
  355. <para>
  356. <code>in_reply_to_status_id</code> spezifiziert die ID eines bestehenden
  357. Status auf den dieser Status als Antwort gesendet werden soll.
  358. </para>
  359. </listitem>
  360. </itemizedlist>
  361. </listitem>
  362. <listitem>
  363. <para>
  364. <methodname>replies()</methodname> gibt die 20 letzten Antworten/@replies
  365. (Statusaktualisierungen die mit @username anfangen) für den authentifizierten
  366. Benutzer zurück.
  367. </para>
  368. <example id="zend.service.twitter.status.replies">
  369. <title>Zeigt Benutzerantworten</title>
  370. <programlisting language="php"><![CDATA[
  371. $twitter = new Zend_Service_Twitter(array(
  372. 'username' => 'johndoe',
  373. 'accessToken' => $token
  374. ));
  375. $response = $twitter->status->replies();
  376. ]]></programlisting>
  377. </example>
  378. <para>
  379. Die <methodname>replies()</methodname> Methode akzeptiert ein Array von
  380. optionalen Parametern um die Anfrage zu verändern.
  381. </para>
  382. <itemizedlist>
  383. <listitem>
  384. <para>
  385. <code>since</code> grenzt die Ergebnisse die man erhält auf jene ein,
  386. deren Stati nach dem spezifizierten Datum/Zeit (bis zu 24 Stunden alt)
  387. erstellt wurden.
  388. </para>
  389. </listitem>
  390. <listitem>
  391. <para>
  392. <code>page</code> spezifiziert welche Seite soll zurückgegeben werden.
  393. </para>
  394. </listitem>
  395. <listitem>
  396. <para>
  397. <code>since_id</code> gibt nur Stati zurück die eine größere ID (das
  398. ist die aktuellere) als die spezifizierte ID haben.
  399. </para>
  400. </listitem>
  401. </itemizedlist>
  402. </listitem>
  403. <listitem>
  404. <para>
  405. <methodname>destroy()</methodname> entfernt den Status der durch den benötigten
  406. <code>id</code> Parameter spezifiziert ist.
  407. </para>
  408. <example id="zend.service.twitter.status.destroy">
  409. <title>Löschen eines Benutzerstatus</title>
  410. <programlisting language="php"><![CDATA[
  411. $twitter = new Zend_Service_Twitter(array(
  412. 'username' => 'johndoe',
  413. 'accessToken' => $token
  414. ));
  415. $response = $twitter->status->destroy(12345);
  416. ]]></programlisting>
  417. </example>
  418. </listitem>
  419. </itemizedlist>
  420. </sect2>
  421. <sect2 id="zend.service.twitter.user">
  422. <title>Benutzermethoden</title>
  423. <itemizedlist>
  424. <listitem>
  425. <para>
  426. <methodname>friends()</methodname> gibt bis zu 100 Freunde des authentifizierten
  427. Benutzers zurück, die zuletzt aktualisiert haben, und jeden von Ihnen mit dem
  428. aktuellen Status.
  429. </para>
  430. <example id="zend.service.twitter.user.friends">
  431. <title>Empfangen von Benutzerfreunden</title>
  432. <programlisting language="php"><![CDATA[
  433. $twitter = new Zend_Service_Twitter(array(
  434. 'username' => 'johndoe',
  435. 'accessToken' => $token
  436. ));
  437. $response = $twitter->user->friends();
  438. ]]></programlisting>
  439. </example>
  440. <para>
  441. Die <methodname>friends()</methodname> Methode akzeptiert ein Array von
  442. optionalen Parameter um die Abfrage zu verändern.
  443. </para>
  444. <itemizedlist>
  445. <listitem>
  446. <para>
  447. <code>id</code> spezifiziert die ID oder den Bildschirmnamen des
  448. Benutzers von dem die Liste an Freunden zurückgegeben werden soll.
  449. </para>
  450. </listitem>
  451. <listitem>
  452. <para>
  453. <code>since</code> grenzt die zurückzugebenden Ergebnisse auf jene
  454. Stati ein die nach dem spezifizierten Datum/Zeit (bis zu 24 Stunden als)
  455. erstellt wurden.
  456. </para>
  457. </listitem>
  458. <listitem>
  459. <para>
  460. <code>page</code> spezifiziert welche Seite soll zurückgegeben werden.
  461. </para>
  462. </listitem>
  463. </itemizedlist>
  464. </listitem>
  465. <listitem>
  466. <para>
  467. <methodname>followers()</methodname> gibt die Verfolger des authentifizierten
  468. Benutzers zurück, und jeden von Ihnen mit seinem aktuellen Status.
  469. </para>
  470. <example id="zend.service.twitter.user.followers">
  471. <title>Empfangen der Verfolger eines Benutzers</title>
  472. <programlisting language="php"><![CDATA[
  473. $twitter = new Zend_Service_Twitter(array(
  474. 'username' => 'johndoe',
  475. 'accessToken' => $token
  476. ));
  477. $response = $twitter->user->followers();
  478. ]]></programlisting>
  479. </example>
  480. <para>
  481. Die <methodname>followers()</methodname> Methode akzeptiert ein Array von
  482. optionalen Parametern welche die Anfrage verändern.
  483. </para>
  484. <itemizedlist>
  485. <listitem>
  486. <para>
  487. <code>id</code> spezifiziert die ID oder den Bildschirmnamen des
  488. Benutzers von dem die Liste an Verfolgern zurückgegeben werden soll.
  489. </para>
  490. </listitem>
  491. <listitem>
  492. <para>
  493. <code>page</code> spezifiziert welche Seite soll zurückgegeben werden.
  494. </para>
  495. </listitem>
  496. </itemizedlist>
  497. </listitem>
  498. <listitem>
  499. <para>
  500. <methodname>show()</methodname> gibt erweiterte Informationen über einen
  501. angegebenen Benutzer zurück, der durch eine ID oder einen Bildschirmnamen
  502. spezifiziert wird wie durch den anbei benötigten <code>id</code> Parameter.
  503. </para>
  504. <example id="zend.service.twitter.user.show">
  505. <title>Zeigt Benutzerinformationen</title>
  506. <programlisting language="php"><![CDATA[
  507. $twitter = new Zend_Service_Twitter(array(
  508. 'username' => 'johndoe',
  509. 'accessToken' => $token
  510. ));
  511. $response = $twitter->user->show('myfriend');
  512. ]]></programlisting>
  513. </example>
  514. </listitem>
  515. </itemizedlist>
  516. </sect2>
  517. <sect2 id="zend.service.twitter.directmessage">
  518. <title>Methoden zur direkten Benachrichtigung</title>
  519. <itemizedlist>
  520. <listitem>
  521. <para>
  522. <methodname>messages()</methodname> gibt eine Liste der 20 letzten direkten
  523. Nachrichten für den authentifizierten Benutzer zurück.
  524. </para>
  525. <example id="zend.service.twitter.directmessage.messages">
  526. <title>Empfangen der letzten empfangenen direkten Nachrichten</title>
  527. <programlisting language="php"><![CDATA[
  528. $twitter = new Zend_Service_Twitter(array(
  529. 'username' => 'johndoe',
  530. 'accessToken' => $token
  531. ));
  532. $response = $twitter->directMessage->messages();
  533. ]]></programlisting>
  534. </example>
  535. <para>
  536. Die <methodname>message()</methodname> Methode akzeptiert ein Array von
  537. optionalen Parametern um die Anfrage zu verändern.
  538. </para>
  539. <itemizedlist>
  540. <listitem>
  541. <para>
  542. <code>since_id</code> gibt nur direkte Nachrichten mit einer ID zurück,
  543. die größer als (das ist aktueller als) die spezifizierte ID sind.
  544. </para>
  545. </listitem>
  546. <listitem>
  547. <para>
  548. <code>since</code> grenzt die zurückzugebenden Ergebnisse auf jene
  549. Stati ein die nach dem spezifizierten Datum/Zeit (bis zu 24 Stunden als)
  550. erstellt wurden.
  551. </para>
  552. </listitem>
  553. <listitem>
  554. <para>
  555. <code>page</code> spezifiziert welche Seite soll zurückgegeben werden.
  556. </para>
  557. </listitem>
  558. </itemizedlist>
  559. </listitem>
  560. <listitem>
  561. <para>
  562. <methodname>sent()</methodname> gibt eine Liste der 20 letzten direkten
  563. Nachrichten zurück die vom authentifizierten Benutzer gesendet wurden.
  564. </para>
  565. <example id="zend.service.twitter.directmessage.sent">
  566. <title>Empfangen der letzten gesendeten direkten Nachrichten</title>
  567. <programlisting language="php"><![CDATA[
  568. $twitter = new Zend_Service_Twitter(array(
  569. 'username' => 'johndoe',
  570. 'accessToken' => $token
  571. ));
  572. $response = $twitter->directMessage->sent();
  573. ]]></programlisting>
  574. </example>
  575. <para>
  576. Die <methodname>sent()</methodname> Methode akzeptiert ein Array von
  577. optionalen Parametern um die Abfrage zu verändern.
  578. </para>
  579. <itemizedlist>
  580. <listitem>
  581. <para>
  582. <code>since_id</code> gibt nur direkte Nachrichten mit einer ID zurück,
  583. die größer als (das ist aktueller als) die spezifizierte ID sind.
  584. </para>
  585. </listitem>
  586. <listitem>
  587. <para>
  588. <code>since</code> grenzt die zurückzugebenden Ergebnisse auf jene
  589. Stati ein die nach dem spezifizierten Datum/Zeit (bis zu 24 Stunden als)
  590. erstellt wurden.
  591. </para>
  592. </listitem>
  593. <listitem>
  594. <para>
  595. <code>page</code> spezifiziert welche Seite soll zurückgegeben werden.
  596. </para>
  597. </listitem>
  598. </itemizedlist>
  599. </listitem>
  600. <listitem>
  601. <para>
  602. <methodname>new()</methodname> sendet eine neue direkte Nachricht vom
  603. authentifizierten Benutzer zum spezifizierten Benutzer. Benötigt sowohl den
  604. Benutzer also auch den Text Parameter wie unten gezeigt.
  605. </para>
  606. <example id="zend.service.twitter.directmessage.new">
  607. <title>Senden einer direkten Nachricht</title>
  608. <programlisting language="php"><![CDATA[
  609. $twitter = new Zend_Service_Twitter(array(
  610. 'username' => 'johndoe',
  611. 'accessToken' => $token
  612. ));
  613. $response = $twitter->directMessage->new('myfriend', 'mymessage');
  614. ]]></programlisting>
  615. </example>
  616. </listitem>
  617. <listitem>
  618. <para>
  619. <methodname>destroy()</methodname> entfernt eine direkte Nachricht die im
  620. benötigten <code>id</code> Parameter spezifiziert wird. Der authentifizierte
  621. Benutzer muß der Empfänger der spezifizierten direkten Nachricht sein.
  622. </para>
  623. <example id="zend.service.twitter.directmessage.destroy">
  624. <title>Löschen einer direkten Nachricht</title>
  625. <programlisting language="php"><![CDATA[
  626. $twitter = new Zend_Service_Twitter(array(
  627. 'username' => 'johndoe',
  628. 'accessToken' => $token
  629. ));
  630. $response = $twitter->directMessage->destroy(123548);
  631. ]]></programlisting>
  632. </example>
  633. </listitem>
  634. </itemizedlist>
  635. </sect2>
  636. <sect2 id="zend.service.twitter.friendship">
  637. <title>Methoden für die Freundschaft</title>
  638. <itemizedlist>
  639. <listitem>
  640. <para>
  641. <methodname>create()</methodname> befreundet den im <code>id</code> Parameter
  642. spezifizierten Benutzer mit dem authentifizierten Benutzer.
  643. </para>
  644. <example id="zend.service.twitter.friendship.create">
  645. <title>Erstellung eines Freundes</title>
  646. <programlisting language="php"><![CDATA[
  647. $twitter = new Zend_Service_Twitter(array(
  648. 'username' => 'johndoe',
  649. 'accessToken' => $token
  650. ));
  651. $response = $twitter->friendship->create('mynewfriend');
  652. ]]></programlisting>
  653. </example>
  654. </listitem>
  655. <listitem>
  656. <para>
  657. <methodname>destroy()</methodname> beendet die Freundschaft des im
  658. <code>id</code> Parameter spezifizierten Benutzers, mit dem authentifizierten
  659. Benutzer.
  660. </para>
  661. <example id="zend.service.twitter.friendship.destroy">
  662. <title>Löschen eines Freundes</title>
  663. <programlisting language="php"><![CDATA[
  664. $twitter = new Zend_Service_Twitter(array(
  665. 'username' => 'johndoe',
  666. 'accessToken' => $token
  667. ));
  668. $response = $twitter->friendship->destroy('myoldfriend');
  669. ]]></programlisting>
  670. </example>
  671. </listitem>
  672. <listitem>
  673. <para>
  674. <methodname>exists()</methodname> testet ob eine Freundschaft zwischen dem
  675. authentifizierten Benutzer und dem im <code>id</code> Parameter übergebenen
  676. Benutzer existiert.
  677. </para>
  678. <example id="zend.service.twitter.friendship.exists">
  679. <title>Prüfen ob eine Freundschaft existiert</title>
  680. <programlisting language="php"><![CDATA[
  681. $twitter = new Zend_Service_Twitter(array(
  682. 'username' => 'johndoe',
  683. 'accessToken' => $token
  684. ));
  685. $response = $twitter->friendship->exists('myfriend');
  686. ]]></programlisting>
  687. </example>
  688. </listitem>
  689. </itemizedlist>
  690. </sect2>
  691. <sect2 id="zend.service.twitter.favorite">
  692. <title>Methoden für Favoriten</title>
  693. <itemizedlist>
  694. <listitem>
  695. <para>
  696. <methodname>favorites()</methodname> gibt die 20 letzten Stati von Favoriten für
  697. den authentifizierten oder durch den <code>id</code> Parameter spezifizierten
  698. Benutzer zurück.
  699. </para>
  700. <example id="zend.service.twitter.favorite.favorites">
  701. <title>Favoriten empfangen</title>
  702. <programlisting language="php"><![CDATA[
  703. $twitter = new Zend_Service_Twitter(array(
  704. 'username' => 'johndoe',
  705. 'accessToken' => $token
  706. ));
  707. $response = $twitter->favorite->favorites();
  708. ]]></programlisting>
  709. </example>
  710. <para>
  711. Die <methodname>favorites()</methodname> Methode akzeptiert ein Array von
  712. optionalen Parametern um die Abfrage zu modifizieren.
  713. </para>
  714. <itemizedlist>
  715. <listitem>
  716. <para>
  717. <code>id</code> spezifiziert die ID oder der Bildschirmname des
  718. Benutzers von dem die Liste der bevorzugten Stati zurückgegeben
  719. werden soll.
  720. </para>
  721. </listitem>
  722. <listitem>
  723. <para>
  724. <code>page</code> spezifiziert welche Seite soll zurückgegeben werden.
  725. </para>
  726. </listitem>
  727. </itemizedlist>
  728. </listitem>
  729. <listitem>
  730. <para>
  731. <methodname>create()</methodname> favorisiert den mit dem <code>id</code>
  732. Parameter spezifizierten Status für den authentifizierten Benutzer
  733. </para>
  734. <example id="zend.service.twitter.favorite.create">
  735. <title>Favoriten erstellen</title>
  736. <programlisting language="php"><![CDATA[
  737. $twitter = new Zend_Service_Twitter(array(
  738. 'username' => 'johndoe',
  739. 'accessToken' => $token
  740. ));
  741. $response = $twitter->favorite->create(12351);
  742. ]]></programlisting>
  743. </example>
  744. </listitem>
  745. <listitem>
  746. <para>
  747. <methodname>destroy()</methodname> entfernt die Favorisierung des des mit dem
  748. <code>id</code> Parameter spezifizierten Status für den authentifizierten
  749. Benutzer.
  750. </para>
  751. <example id="zend.service.twitter.favorite.destroy">
  752. <title>Entfernt Favoriten</title>
  753. <programlisting language="php"><![CDATA[
  754. $twitter = new Zend_Service_Twitter(array(
  755. 'username' => 'johndoe',
  756. 'accessToken' => $token
  757. ));
  758. $response = $twitter->favorite->destroy(12351);
  759. ]]></programlisting>
  760. </example>
  761. </listitem>
  762. </itemizedlist>
  763. </sect2>
  764. <sect2 id="zend.service.twitter.block">
  765. <title>Blockierende Methoden</title>
  766. <itemizedlist>
  767. <listitem>
  768. <para>
  769. <methodname>exists()</methodname> retourniert ob der authentifizierende Benutzer
  770. einen Zielbenutzer blockiert und kann optional das Objekt des blockierten
  771. Benutzers zurückgeben wenn ein Block existiert.
  772. </para>
  773. <example id="zend.service.twitter.block.exists">
  774. <title>Prüfen ob ein Block existiert</title>
  775. <programlisting language="php"><![CDATA[
  776. $twitter = new Zend_Service_Twitter(array(
  777. 'username' => 'johndoe',
  778. 'accessToken' => $token
  779. ));
  780. // gibt true oder false zurück
  781. $response = $twitter->block->exists('blockeduser');
  782. // gibt die Info des blockierten Benutzers zurück wenn dieser blockiert ist
  783. $response2 = $twitter->block->exists('blockeduser', true);
  784. ]]></programlisting>
  785. </example>
  786. <para>
  787. Die <methodname>favorites()</methodname> Methode akzeptiert einen optionalen
  788. zweiten Parameter.
  789. </para>
  790. <itemizedlist>
  791. <listitem>
  792. <para>
  793. <code>returnResult</code> spezifiziert ob das Objekt des
  794. Benutzers zurückgegeben werden soll, oder einfach nur
  795. <constant>TRUE</constant> oder <constant>FALSE</constant>.
  796. </para>
  797. </listitem>
  798. </itemizedlist>
  799. </listitem>
  800. <listitem>
  801. <para>
  802. <methodname>create()</methodname> blockiert den Benutzer der im <code>id</code>
  803. Parameter als authentifizierter Benutzer spezifiziert wurde und löscht eine
  804. Freundschaft zum blockierten Benutzer wenn eine existiert. Gibt den blockierten
  805. Benutzer im angeforderten Format zurück wenn es erfolgreich war
  806. </para>
  807. <example id="zend.service.twitter.block.create">
  808. <title>Einen Benutzer blockieren</title>
  809. <programlisting language="php"><![CDATA[
  810. $twitter = new Zend_Service_Twitter(array(
  811. 'username' => 'johndoe',
  812. 'accessToken' => $token
  813. ));
  814. $response = $twitter->block->create('usertoblock);
  815. ]]></programlisting>
  816. </example>
  817. </listitem>
  818. <listitem>
  819. <para>
  820. <methodname>destroy()</methodname> entfernt die Blockierung des Benutzers der
  821. im <code>id</code> Parameter für den authentifizierten Benutzer spezifiziert
  822. wurde. Gibt den un-blockierten Benutzer im angeforderten Format zurück wenn
  823. diese erfolgreich war.
  824. </para>
  825. <example id="zend.service.twitter.block.destroy">
  826. <title>Entfernung einer Blockierung</title>
  827. <programlisting language="php"><![CDATA[
  828. $twitter = new Zend_Service_Twitter(array(
  829. 'username' => 'johndoe',
  830. 'accessToken' => $token
  831. ));
  832. $response = $twitter->block->destroy('blockeduser');
  833. ]]></programlisting>
  834. </example>
  835. </listitem>
  836. <listitem>
  837. <para>
  838. <methodname>blocking()</methodname> gibt ein Array von Benutzerobjekten zurück
  839. die der authentifizierte Benutzer blockiert.
  840. </para>
  841. <example id="zend.service.twitter.block.blocking">
  842. <title>Wen blockiert man</title>
  843. <programlisting language="php"><![CDATA[
  844. $twitter = new Zend_Service_Twitter(array(
  845. 'username' => 'johndoe',
  846. 'accessToken' => $token
  847. ));
  848. // gibt die komplette Benutzerliste zurück
  849. $response = $twitter->block->blocking(1);
  850. // gibt ein Array von nummerischen Benutzer IDs zurück
  851. $response2 = $twitter->block->blocking(1, true);
  852. ]]></programlisting>
  853. </example>
  854. <para>
  855. Die <methodname>favorites()</methodname> Methode akzeptiert zwei optionale
  856. Parameter.
  857. </para>
  858. <itemizedlist>
  859. <listitem>
  860. <para>
  861. <code>page</code> spezifiziert die man zurück erhalten will. Eine
  862. einzelne Seite enthält 20 Id's.
  863. </para>
  864. </listitem>
  865. <listitem>
  866. <para>
  867. <code>returnUserIds</code> spezifiziert ob ein Array von nummerischen
  868. Benutzer Id's zurückzugeben ist welche der authenzifizierte Benutzer
  869. blockiert, oder ein Array von Benutzerobjekten.
  870. </para>
  871. </listitem>
  872. </itemizedlist>
  873. </listitem>
  874. </itemizedlist>
  875. </sect2>
  876. <xi:include href="Zend_Service_Twitter_Search.xml" />
  877. </sect1>