Zend_Service_Twitter.xml 40 KB

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