Zend_Gdata_Books.xml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17175 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.gdata.books">
  5. <title>Die Buchsuche Daten API verwenden</title>
  6. <para>
  7. Die Buchsuche Daten <acronym>API</acronym> von Google erlaubt Client Anwendungen Inhalte
  8. von Buchsuchen zu sehen und in der Form von Google Daten <acronym>API</acronym> Feeds
  9. zu aktualisieren.
  10. </para>
  11. <para>
  12. Die Client Anwendung kann die Buchsuche Daten <acronym>API</acronym> verwenden um
  13. Volltextsuchen nach Büchern durchzuführen und um Standardinformationen von Büchern zu
  14. erhalten, diese zu bewerten und zu kommentieren. Man kann auch individuelle
  15. <ulink url="http://books.google.com/googlebooks/mylibrary/">Sammlungen von
  16. Benutzerbibliotheken und öffentlichen Kommentaren</ulink>. Letztendlich kann eine
  17. Anwendung authentifizierte Anfragen abschicken um es Benutzern zu ermöglichen
  18. Bibliothekssammlungen zu erstellen, zu modifizieren, zu bewerten, zu benennen,
  19. zu kommentieren und andere Accountspezifische Dinge zu erlauben.
  20. </para>
  21. <para>
  22. Für weitere Informationen über die Buchsuche Daten <acronym>API</acronym> referieren Sie
  23. bitte zum offiziellen <ulink
  24. url="http://code.google.com/apis/books/gdata/developers_guide_php.html">PHP Developer's
  25. Guide</ulink> auf code.google.com.
  26. </para>
  27. <sect2 id="zend.gdata.books.authentication">
  28. <title>Beim Buchsuche Service authentifizieren</title>
  29. <para>
  30. Man kann sowohl auf öffentliche als auch private Feeds zugreifen indem man
  31. die Buchsuche Daten <acronym>API</acronym> verwendet. Öffentliche Feeds benötigen keine
  32. Authentifizierung, aber man kann Sie nur lesen. Wenn man Benutzerbibliotheken
  33. verändern oder bewerden will, oder Label hinzufügen will muß der eigene
  34. Client authentifiziert werden bevor man private Feeds anfragt. Er kann sich
  35. authentifizieren indem einer von zwei Möglichkeiten verwendet wird:
  36. AuthSub Proxy Authentifizierung oder ClientLogin Benutzername/Passwort
  37. Authentifizierung. Bitte referieren Sie zum <ulink
  38. url="http://code.google.com/apis/books/gdata/developers_guide_php.html#Authentication">Authentifizierungs
  39. Kapitel im <acronym>PHP</acronym> Developer Guide</ulink> für weitere Details.
  40. </para>
  41. </sect2>
  42. <sect2 id="zend.gdata.books.searching_for_books">
  43. <title>Nach Büchern suchen</title>
  44. <para>
  45. Die Buchsuche Daten <acronym>API</acronym> bietet eine Anzahl an Feeds die Sammlungen
  46. von Büchern auflisten.
  47. </para>
  48. <para>
  49. Die am meisten übliche Aktion ist das empfangen von Bücherlisten die einer
  50. Suchanfrage entsprechen. Um das zu tun muß ein <code>VolumeQuery</code>
  51. Objekt erstellt und an die <code>Books::getVolumeFeed</code> Methode
  52. übergeben werden.
  53. </para>
  54. <para>
  55. Um zum Beispiel eine Schlüsselwortabfrage, mit einem Filter auf der Sichtbarkeit
  56. um die Ergebnisse auf partielle oder komplette sichtbare Bücher zu gegrenzen,
  57. durchzuführen müssen die <code>setMinViewability</code> und
  58. <code>setQuery</code> Methoden des <code>VolumeQuery</code> Objekts verwendet
  59. werden. Der folgende Codeschnipsel zeigt Titel und Sichtbarkeit aller Volumes
  60. deren Metadaten oder Texte dem Suchbegriff "domino" entsprechen:
  61. </para>
  62. <programlisting language="php"><![CDATA[
  63. $books = new Zend_Gdata_Books();
  64. $query = $books->newVolumeQuery();
  65. $query->setQuery('domino');
  66. $query->setMinViewability('partial_view');
  67. $feed = $books->getVolumeFeed($query);
  68. foreach ($feed as $entry) {
  69. echo $entry->getVolumeId();
  70. echo $entry->getTitle();
  71. echo $entry->getViewability();
  72. }
  73. ]]></programlisting>
  74. <para>
  75. Die <code>Query</code> Klasse, und Subklassen wie <code>VolumeQuery</code>,
  76. sind dafür zuständig das Feed <acronym>URL</acronym> erzeugt werden. Der VolumeQuery der
  77. vorher gezeigt wurde erzeugt eine <acronym>URL</acronym> die der folgenden entspricht:
  78. </para>
  79. <programlisting language="php"><![CDATA[
  80. http://www.google.com/books/feeds/volumes?q=keyword&amp;min-viewability=partial
  81. ]]></programlisting>
  82. <para>
  83. Beachte: Da die Ergebnisse von Buchsuchen öffentlich sind, können Buchsuche
  84. Abfragen ohne Authentifizierung durchgeführt werden.
  85. </para>
  86. <para>
  87. Hier sind einige der üblichsten <code>VolumeQuery</code> Methoden für das
  88. Setzen von Suchparametern:
  89. </para>
  90. <para>
  91. <code>setQuery:</code> Spezifiziert einen Suchabfragebegriff. Buchsuchen
  92. durchsuchen alle Metadaten der Bücher und des kompletten Textes nach Büchern die
  93. dem Begriff entsprechen. Buchmetadaten enthalten Titel, Schlüsselwörter,
  94. Beschreibungen, Namen von Autoren, und Untertitel. Es ist zu beachten das alle
  95. Leerzeichen, Hochkomma oder andere Punktierungen im Parameterwert
  96. <acronym>URL</acronym>-escaped werden müssen. (Verwende ein Plus (<code>+</code>) für
  97. ein Leerzeichen.) Um nach einer exakten Phrase zu suchen muß die Phrase in Hochkomma
  98. eingeschlossen werden. Um zum Beispiel nach einem Buch zu suchen das der Phrase
  99. "spy plane" entspricht, muß der <code>q</code> Parameter auf
  100. <code>%22spy+plane%22</code> gesetzt werden. Man kann jede der <ulink
  101. url="http://books.google.com/advanced_book_search">zusätzlichen
  102. Suchoperatoren</ulink> verwenden die von der Buchsuche unterstützt werden. Zum
  103. Beispiel gibt <code>jane+austen+-inauthor:austen</code> Entsprechungen zurück die Jane
  104. Austen erwähnen (aber nicht von Ihr geschrieben wurden).
  105. </para>
  106. <para>
  107. <code>setStartIndex:</code> Spezifiziert den Index des ersten passenden
  108. Ergebnisses das im Ergebnisset enthalten sein sollte. Dieser Parameter verwendet
  109. einen eins-basierenden Index, was bedeutet das das erste Ergebnis 1 ist, das
  110. zweite Ergebnis 2 und so weiter. Dieser Parameter arbeitet in Verbindung mit
  111. dem max-results Parameter um festzustellen welche Ergebnisse zurückzugeben
  112. sind. Um zum Beispiel das dritte Set von 10er Ergebnissen zu erhalten,
  113. 21-30-set, muß der <code>start-index</code> Parameter auf <code>21</code>
  114. und der max-results Parameter auf <code>10</code> gesetzt werden. Es ist zu
  115. beachten das das kein genereller Cursor Mechanismus ist. Wenn man zuerst
  116. eine Abfrage mit <code>?start-index=1&amp;max-results=10</code> und
  117. anschließend eine andere Anfrage mit <code>?start-index=11&amp;max-results=10</code>,
  118. kann der Service nicht garantieren das die Ergebnisse äquivalent sind, weil
  119. zwischen den zwei Anfragen Einfügungen oder Löschungen durchgeführt worden sein
  120. können.
  121. </para>
  122. <para>
  123. <code>setMaxResults:</code> Spezifiziert die maximale Anzahl an Ergebnissen die
  124. im Ergebnisset enthalten sein sollen. Dieser Parameter arbeitet in Verbindung
  125. mit dem start-index Parameter um festzustellen welche Ergebnisse zurückgegeben
  126. werden sollen. Der Standartwert dieses Parameters ist <code>10</code> und der
  127. Maximalwert ist <code>20</code>.
  128. </para>
  129. <para>
  130. <code>setMinViewability:</code> Erlaubt es Ergebnisse entsprechend dem <ulink
  131. url="http://code.google.com/apis/books/docs/dynamic-links.html#terminology">Status
  132. der Sichtbarkeit</ulink> der Bücher zu filtern. Dieser Parameter akzeptiert einen
  133. von drei Werten: <code>'none'</code> (der Standardwert, der alle passenden Bücher
  134. zurückgibt Unabhängigkeit von der Sichtbarkeit), <code>'partial_view'</code> (was nur
  135. Bücher zurückgibt die der Benutzer komplett oder teilweise sehen kann), oder
  136. <code>'full_view'</code> (was nur Bücher zurückgibt die der Benutzer in Ihrer
  137. Komplettheit sehen kann).
  138. </para>
  139. <sect3 id="zend.gdata.books.partner_restrict">
  140. <title>Partner Co-Branded Suche</title>
  141. <para>
  142. Die Google Buchsuche bietet eine <ulink
  143. url="http://books.google.com/support/partner/bin/answer.py?hl=en&amp;answer=65113">Co-Branded
  144. Suche</ulink> an, die Inhaltspartner erlaubt Volltextsuchen Ihrer Bücher von
  145. deren Webseite anzubieten.
  146. </para>
  147. <para>
  148. Wenn man ein Partner ist der eine Co-Branded Suche durchführen will indem die
  149. Buchsuche Daten <acronym>API</acronym> verwendet wird, kann man das tun indem die
  150. Feed <acronym>URL</acronym> von vorher so angepasst wird das Sie auf die eigene
  151. Co-Branded Suchimplementation zeigt. Wenn zum Beispiel, eine Co-Branded Suche unter
  152. der folgenden <acronym>URL</acronym> vorhanden ist:
  153. </para>
  154. <programlisting language="php"><![CDATA[
  155. http://www.google.com/books/p/PARTNER_COBRAND_ID?q=ball
  156. ]]></programlisting>
  157. <para>
  158. kann man die gleichen Ergebnisse erhalten indem die Buchsuche Daten
  159. <acronym>API</acronym> mit der folgenden <acronym>URL</acronym> verwendet wird:
  160. </para>
  161. <programlisting language="php"><![CDATA[
  162. http://www.google.com/books/feeds/p/PARTNER_COBRAND_ID/volumes?q=ball+-soccer
  163. ]]></programlisting>
  164. <para>
  165. Um eine alternative <acronym>URL</acronym> zu spezifizieren wenn ein Volume Feed
  166. abgefragt wird, kann ein extra Parameter an <code>newVolumeQuery</code> übergeben
  167. werden
  168. </para>
  169. <programlisting language="php"><![CDATA[
  170. $query =
  171. $books->newVolumeQuery('http://www.google.com/books/p/PARTNER_COBRAND_ID');
  172. ]]></programlisting>
  173. <para>
  174. Für zusätzliche Informationen oder Support, sehen Sie in unser
  175. <ulink url="http://books.google.com/support/partner/">Partner Help Center</ulink>.
  176. </para>
  177. </sect3>
  178. </sect2>
  179. <sect2 id="zend.gdata.books.community_features">
  180. <title>Übliche Features verwenden</title>
  181. <sect3 id="zend.gdata.books.adding_ratings">
  182. <title>Eine Bewertung hinzufügen</title>
  183. <para>
  184. Ein Benutzer kann einem Buch eine Bewertung hinzufügen. Die Buchsuche verwendet
  185. eie 1-5 Bewertungssystem in dem 1 die geringste Bewertung ist. Benutzer können
  186. Ihre Bewertungen nicht aktualisieren oder löschen.
  187. </para>
  188. <para>
  189. Um eine Bewertung hinzuzufügen, muß ein <code>Rating</code> an
  190. <code>VolumeEntry</code> hinzugefügt werden und an den Anmerkungsfeed gesendet
  191. werden. Im unten gezeigten Beispiel starten wir von einem leeren
  192. <code>VolumeEntry</code> Objekt.
  193. </para>
  194. <programlisting language="php"><![CDATA[
  195. $entry = new Zend_Gdata_Books_VolumeEntry();
  196. $entry->setId(new Zend_Gdata_App_Extension_Id(VOLUME_ID));
  197. $entry->setRating(new Zend_Gdata_Extension_Rating(3, 1, 5, 1));
  198. $books->insertVolume($entry, Zend_Gdata_Books::MY_ANNOTATION_FEED_URI);
  199. ]]></programlisting>
  200. </sect3>
  201. <sect3 id="zend.gdata.books.reviews">
  202. <title>Reviews</title>
  203. <para>
  204. Zusätzlich zu Bewertungen, können authentifizierte Benutzer Reviews übermitteln
  205. oder Ihre eigenen Reviews bearbeiten. Für Informationen darüber wie vorher
  206. übermittelte Reviews angefragt werden können, siehe <ulink
  207. url="#zend.gdata.books.retrieving_annotations">Empfangen von
  208. Anmerkungen</ulink>.
  209. </para>
  210. <sect4 id="zend.gdata.books.adding_review">
  211. <title>Eine Review hinzufügen</title>
  212. <para>
  213. Um eine Review hinzuzufügen, muß man ein <code>Review</code> Objekt an
  214. <code>VolumeEntry</code> übergeben und es an den Anmerkungsfeed übertragen.
  215. Im unteren Beispiel starten wir von einem bestehenden <code>VolumeEntry</code>
  216. Objekt.
  217. </para>
  218. <programlisting language="php"><![CDATA[
  219. $annotationUrl = $entry->getAnnotationLink()->href;
  220. $review = new Zend_Gdata_Books_Extension_Review();
  221. $review->setText("Dieses Buch ist aufregend!");
  222. $entry->setReview($review);
  223. $books->insertVolume($entry, $annotationUrl);
  224. ]]></programlisting>
  225. </sect4>
  226. <sect4 id="zend.gdata.books.editing_review">
  227. <title>Eine Review bearbeiten</title>
  228. <para>
  229. Um eine bestehende Review zu aktualisieren muß man zuerst die Review die
  230. bearbeitet werden soll empfangen, diese modifizieren, und dann an den
  231. Anmerkungsfeed übertragen.
  232. </para>
  233. <programlisting language="php"><![CDATA[
  234. $entryUrl = $entry->getId()->getText();
  235. $review = new Zend_Gdata_Books_Extension_Review();
  236. $review->setText("Dieses Buch ist leider nicht sehr gut!");
  237. $entry->setReview($review);
  238. $books->updateVolume($entry, $entryUrl);
  239. ]]></programlisting>
  240. </sect4>
  241. </sect3>
  242. <sect3 id="zend.gdata.books.labels">
  243. <title>Labels</title>
  244. <para>
  245. Die Buchsuche Daten <acronym>API</acronym> kann verwendet werden um Volumes mit
  246. Label über Schlüsselwörtern zu versehen. Ein Benutzer kann diese übertragen,
  247. empfangen und verändern. Siehe <ulink
  248. url="#zend.gdata.books.retrieving_annotations">Anmerkungen empfangen</ulink>
  249. dafür wie vorher übertragene Label gelesen werden können.
  250. </para>
  251. <sect4 id="zend.gdata.books.submitting_labels">
  252. <title>Ein Set von Label übermitteln</title>
  253. <para>
  254. Um Label zu übermitteln muß ein <code>Category</code> Objekt mit dem Schema
  255. <constant>LABELS_SCHEME</constant> an <code>VolumeEntry</code> hinzugefügt und
  256. an den Anmerkungsfeed übergeben werden.
  257. </para>
  258. <programlisting language="php"><![CDATA[
  259. $annotationUrl = $entry->getAnnotationLink()->href;
  260. $category = new Zend_Gdata_App_Extension_Category(
  261. 'rated',
  262. 'http://schemas.google.com/books/2008/labels');
  263. $entry->setCategory(array($category));
  264. $books->insertVolume($entry, Zend_Gdata_Books::MY_ANNOTATION_FEED_URI);
  265. ]]></programlisting>
  266. </sect4>
  267. </sect3>
  268. <sect3 id="zend.gdata.books.retrieving_annotations">
  269. <title>Empfangen von Anmerkungen: Reviews, Bewertungen und Label</title>
  270. <para>
  271. Die Buchsuche Daten <acronym>API</acronym> kann verwendet werden um Anmerkungen zu
  272. empfangen die von einen angegebenen Benutzer übermittelt wurden. Anmerkungen
  273. enthalten Reviews, Bewertungen und Label. Um irgendwelche Anmerkungen von Benutzern
  274. zu empfangen muß eine nicht authentifizierte Anfrage gesendet werden die die
  275. BenutzerID des Benutzers enthält. Um die Anmerkungen des authentifizierten Benutzers
  276. zu empfangen muß der Wert <code>me</code> als BenutzerID verwendet werden.
  277. </para>
  278. <programlisting language="php"><![CDATA[
  279. $feed = $books->getVolumeFeed(
  280. 'http://www.google.com/books/feeds/users/USER_ID/volumes');
  281. <i>(oder)</i>
  282. $feed = $books->getUserAnnotationFeed();
  283. // Gibt Titel und Bewertungswerte aus
  284. foreach ($feed as $entry) {
  285. foreach ($feed->getTitles() as $title) {
  286. echo $title;
  287. }
  288. if ($entry->getRating()) {
  289. echo 'Bewertung: ' . $entry->getRating()->getAverage();
  290. }
  291. }
  292. ]]></programlisting>
  293. <para>
  294. Für eine Liste an unterstützten Abfrageparametern, kann man in das Kapitel
  295. <ulink url="#zend.gdata.books.query_parameters">Abfrageparameter</ulink> sehen.
  296. </para>
  297. </sect3>
  298. <sect3 id="zend.gdata.books.deleting_annotations">
  299. <title>Anmerkungen löschen</title>
  300. <para>
  301. Wenn man einen Anmerkungseintrag empfängt der Bewertungen, Reviews und/oder Label
  302. enthält können alle Anmerkungen entfernt werden indem <code>deleteVolume</code>
  303. an diesem Eintrag aufgerufen wird.
  304. </para>
  305. <programlisting language="php"><![CDATA[
  306. $books->deleteVolume($entry);
  307. ]]></programlisting>
  308. </sect3>
  309. </sect2>
  310. <sect2 id="zend.gdata.books.sharing_with_my_library">
  311. <title>Büchersammlungen und My Library</title>
  312. <para>
  313. Die Google Buchsuche bietet eine Anzahl von Benutzerspezifischen Buchsammlungen,
  314. jede mit Ihrem eigenen Feed.
  315. </para>
  316. <para>
  317. The wichtigste Sammlung ist die My Library des Benutzers, die die Bücher repräsentiert
  318. die sich der Benutzer merken, organisieren und mit anderen Teilen will. Das ist die
  319. Sammlung die der Benutzer sieht wenn er auf seine oder ihre
  320. <ulink url="http://books.google.com/books?op=library">My Library Seite</ulink>
  321. zugreift.
  322. </para>
  323. <sect3 id="zend.gdata.books.retrieving_books_in_library">
  324. <title>Bücher auf der Benutzerbibliothek erhalten</title>
  325. <para>
  326. Die folgenden Kapitel beschreiben wie eine Liste von Büchern von der Bibliothek
  327. eines Benutzers, mit oder ohne Abfrageparameter, empfangen werden können.
  328. </para>
  329. <para>
  330. Man kann den öffentlichen Feed einer Buchsuche ohne Authentifizierung abfragen.
  331. </para>
  332. <sect4 id="zend.gdata.books.retrieving_all_books_in_library">
  333. <title>Alle Bücher in einer Benutzerbibliothek empfangen</title>
  334. <para>
  335. Um alle Bücher eines Benutzers zu empfangen muß eine Anfrage an den My Library
  336. Feed gesendet werden. Um die Bibliothek des authentifizierten Benutzers zu
  337. erhalten muß <code>me</code> statt der <constant>USER_ID</constant> verwendet
  338. werden.
  339. </para>
  340. <programlisting language="php"><![CDATA[
  341. $feed = $books->getUserLibraryFeed();
  342. ]]></programlisting>
  343. <para>
  344. Es ist zu beachten das es sein kann das der Feed nicht alle Bücher des Benutzers
  345. enthält, weil es ein Standardlimit der Anzahl der zurückgegebenen Ergebnisse
  346. gibt. Für weitere Information siehe den <code>max-results</code>
  347. Abfrageparameter in <ulink url="#zend.gdata.books.searching_for_books">Suchen
  348. nach Büchern</ulink>.
  349. </para>
  350. </sect4>
  351. <sect4 id="zend.gdata.books.retrieving_books_in_library_with_query">
  352. <title>Nach Büchern in einer Benutzerbibliothek suchen</title>
  353. <para>
  354. Genauso wie man
  355. <ulink url="#zend.gdata.books.searching_for_books">über alle Bücher suchen
  356. kann</ulink>, kann man auch eine Volltextsuche über die Bücher in einer
  357. Benutzerbibliothek durchführen. Um das zu tun müssen einfach die betreffenden
  358. Parameter am <code>VolumeQuery</code> Objekt gesetzt werden.
  359. </para>
  360. <para>
  361. Zum Beispiel gibt die folgende Abfrage alle Bücher in der eigenen Bibliothek
  362. zurück die das Word "Bär" enthalten:
  363. </para>
  364. <programlisting language="php"><![CDATA[
  365. $query = $books->newVolumeQuery(
  366. 'http://www.google.com/books/feeds/users/' .
  367. 'USER_ID/collections/library/volumes');
  368. $query->setQuery('Bär');
  369. $feed = $books->getVolumeFeed($query);
  370. ]]></programlisting>
  371. <para>
  372. Für eine Liste von unterstützten Abfrageparametern können Sie in das Kapitel
  373. <ulink url="#zend.gdata.books.query_pParameters">Abfrageparameter</ulink> sehen.
  374. Zusätzlich kann nach Büchern gesucht werden die <ulink
  375. url="#zend.gdata.books.labels">von einem Benutzer gelabelt wurden</ulink>:
  376. </para>
  377. <programlisting language="php"><![CDATA[
  378. $query = $books->newVolumeQuery(
  379. 'http://www.google.com/books/feeds/users/' .
  380. 'USER_ID/collections/library/volumes');
  381. $query->setCategory(
  382. $query->setCategory('favorites');
  383. $feed = $books->getVolumeFeed($query);
  384. ]]></programlisting>
  385. </sect4>
  386. </sect3>
  387. <sect3 id="zend.gdata.books.updating_library">
  388. <title>Bücher in einer Benutzerbibliothek aktualisieren</title>
  389. <para>
  390. Die Buchsuche Daten <acronym>API</acronym> kann dazu verwendet werden um ein Buch
  391. einer Benutzerbibliothek hinzuzufügen oder es aus Ihr zu entfernen. Bewertungen,
  392. Reviews und Label sind über alle Sammlungen eines Benutzers gültig, und
  393. können deswegen bearbeitet werden indem der Anmerkungsfeed verwendet wird (siehe
  394. <ulink url="#zend.gdata.books.community_features">Verwendung üblicher
  395. Features</ulink>).
  396. </para>
  397. <sect4 id="zend.gdata.books.library_book_add">
  398. <title>Ein Buch zu einer Bibliothek hinzufügen</title>
  399. <para>
  400. Nach der Authentifizierung können Bucher zur aktuellen Benutzerbibliothek
  401. hinzugefügt werden.
  402. </para>
  403. <para>
  404. Man kann entweder einen Eintrag von Null auf erstellen wenn man die Volume ID
  405. weiß, oder einen Eintrag einfügen wenn von irgendeinem Feed gelesen wird.
  406. </para>
  407. <para>
  408. Das folgende Beispiel erstellt einen neuen Eintrag und fügt Ihn der Bibliothek
  409. hinzu:
  410. </para>
  411. <programlisting language="php"><![CDATA[
  412. $entry = new Zend_Gdata_Books_VolumeEntry();
  413. $entry->setId(new Zend_Gdata_App_Extension_Id(VOLUME_ID));
  414. $books->insertVolume(
  415. $entry,
  416. Zend_Gdata_Books::MY_LIBRARY_FEED_URI
  417. );
  418. ]]></programlisting>
  419. <para>
  420. Das folgende Beispiel fügt ein bestehendes <code>VolumeEntry</code> Objekt in
  421. der Bibliothek hinzu:
  422. </para>
  423. <programlisting language="php"><![CDATA[
  424. $books->insertVolume(
  425. $entry,
  426. Zend_Gdata_Books::MY_LIBRARY_FEED_URI
  427. );
  428. ]]></programlisting>
  429. </sect4>
  430. <sect4 id="zend.gdata.books.library_book_remove">
  431. <title>Ein Buch von einer Bibliothek entfernen</title>
  432. <para>
  433. Um ein Buch von einer Benutzerbibliothek zu entfernen, muß
  434. <code>deleteVolume</code> auf dem <code>VolumeEntry</code>
  435. Objekt aufgerufen werden.
  436. </para>
  437. <programlisting language="php"><![CDATA[
  438. $books->deleteVolume($entry);
  439. ]]></programlisting>
  440. </sect4>
  441. </sect3>
  442. </sect2>
  443. </sect1>