Zend_Gdata_Docs.xml 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.gdata.docs">
  5. <title>Verwenden der Google Dokumente Listen Daten API</title>
  6. <para>
  7. Die Google Dokumente Listen Daten <acronym>API</acronym> erlaubt es Client Anwendungen
  8. Dokumente zu Google Dokumente hochzuladen und diese in der Form von Google Daten
  9. <acronym>API</acronym> ("GData") Feeds aufzulisten. Die Client Anwendung kann eine Liste von
  10. Benutzer Dokumenten anfragen, und den Inhalt in einem existierenden Dokument abfragen.
  11. </para>
  12. <para>
  13. Siehe <ulink
  14. url="http://code.google.com/apis/documents/overview.html">http://code.google.com/apis/documents/overview.html</ulink>
  15. für weitere Informationen über die Google Dokumente Listen <acronym>API</acronym>.
  16. </para>
  17. <sect2 id="zend.gdata.docs.listdocuments">
  18. <title>Eine Liste von Dokumenten erhalten</title>
  19. <para>
  20. Man kann eine Liste von den Google Dokumenten für einen bestimmten Benutzer erhalten
  21. indem die <methodname>getDocumentListFeed()</methodname> Methode des Docs Services
  22. verwendet wird. Das Service gibt ein
  23. <classname>Zend_Gdata_Docs_DocumentListFeed</classname> Objekt zurück das eine Liste von
  24. Dokumenten enthält die mit dem authentifizierten Benutzer assoziiert sind.
  25. </para>
  26. <programlisting language="php"><![CDATA[
  27. $service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
  28. $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
  29. $docs = new Zend_Gdata_Docs($client);
  30. $feed = $docs->getDocumentListFeed();
  31. ]]></programlisting>
  32. <para>
  33. Das sich ergebende <classname>Zend_Gdata_Docs_DocumentListFeed</classname> Objekt
  34. repräsentiert die Antwort des Servers. Dieser Feed enthält eine Liste von
  35. <classname>Zend_Gdata_Docs_DocumentListEntry</classname> Objekten
  36. (<command>$feed->entries</command>), wobei jeder von Ihnen ein einzelnes Google Dokument
  37. repräsentiert.
  38. </para>
  39. </sect2>
  40. <sect2 id="zend.gdata.docs.creating">
  41. <title>Ein Dokument hochladen</title>
  42. <para>
  43. Man kann ein neues Google Dokument erstellen indem ein Wortverarbeitungs Dokument, eine
  44. Tabellenkalkulation oder eine Präsentation hochgeladen wird. Dieses Beispiel ist vom
  45. interaktiven Docs.php Beispiel welches mit der Bibliothek kommt. Es demonstriert das
  46. Hochladen einer Datei und das Ausdrucken der Information über das Ergebnis vom Server.
  47. </para>
  48. <programlisting language="php"><![CDATA[
  49. /**
  50. * Ein spezielles Dokument hochladen
  51. *
  52. * @param Zend_Gdata_Docs $docs Das Service Objekt das für die Kommunikation
  53. * mit dem Google Dokument Service verwendet wird
  54. * @param boolean $html True Wenn die Ausgabe für die Ausgabe in einem Web
  55. * Browser formatiert sein soll
  56. * @param string $originalFileName Der Name der Datei die hochgeladen werden
  57. * soll. Der MIME-Typ dieser Datei wird von der
  58. * Erweiterung des Dateinamens eruiert. Zum
  59. * Beispiel wird test.csv als Komma geteilter
  60. * Inhalt hochgeladen und in eine
  61. * Tabellenkalkulation konvertiert
  62. * @param string $temporaryFileLocation (Optional) Die Datei in der die Daten
  63. * für das Dokument gespeichert werden.
  64. * Das wird verwendet wenn die Datei von
  65. * der Maschine des Clients zum Server
  66. * hochgeladen und in einer temporären
  67. * Datei gespeichert wurde die keine
  68. * Erweiterung hat. Wenn dieser Parameter
  69. * null ist, wird die Datei von
  70. * originalFileName gelesen.
  71. */
  72. function uploadDocument($docs, $html, $originalFileName,
  73. $temporaryFileLocation) {
  74. $fileToUpload = $originalFileName;
  75. if ($temporaryFileLocation) {
  76. $fileToUpload = $temporaryFileLocation;
  77. }
  78. // Datei hochladen un in ein Google Dokument konvertieren Der originale
  79. // Dateiname wird als Titel des Dokuments verwendet und der MIME Typ wird
  80. // basieren auf der erweiterung des originalen Dateinamens eruiert.
  81. $newDocumentEntry = $docs->uploadFile($fileToUpload, $originalFileName,
  82. null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);
  83. echo "Neuer Titel des Dokuments: ";
  84. if ($html) {
  85. // Die URL der HTML Ansicht dieses Dokuments finden.
  86. $alternateLink = '';
  87. foreach ($newDocumentEntry->link as $link) {
  88. if ($link->getRel() === 'alternate') {
  89. $alternateLink = $link->getHref();
  90. }
  91. }
  92. // Den Titellink zum dokument auf docs.google.com erstellen.
  93. echo "<a href=\"$alternateLink\">\n";
  94. }
  95. echo $newDocumentEntry->title."\n";
  96. if ($html) {echo "</a>\n";}
  97. }
  98. ]]></programlisting>
  99. </sect2>
  100. <sect2 id="zend.gdata.docs.queries">
  101. <title>Den Dokumenten Feed durchsuchen</title>
  102. <para>
  103. Die Dokumenten Liste kann durchsucht werden indem einer der
  104. <ulink url="http://code.google.com/apis/gdata/reference.html#Queries">standardmäßigen
  105. Google Daten <acronym>API</acronym> Abfrageparameter</ulink> verwendet wird. Kategorien
  106. werden verwendet um den Typ des Dokuments das zurückgegeben wird (Wortverarbeitungs
  107. Dokument, Tabellenkalkulation) einzuschränken. Detailiertere Informationen über
  108. Parameter die speziell in der Dokumenten Liste vorhanden sind können in der
  109. <ulink url="http://code.google.com/apis/documents/reference.html#Parameters">Dokumenten
  110. Listen Daten <acronym>API</acronym> Referenz Anleitung</ulink> gefunden werden.
  111. </para>
  112. <sect3 id="zend.gdata.docs.listwpdocuments">
  113. <title>Eine Liste von Wortverarbeitungs Dokumenten erhalten</title>
  114. <para>
  115. Ein Feed der alle Dokumente eines speziellen Typs enthält kann auch angefragt
  116. werden. Um zum Beispiel eine Liste von eigenen Wortverarbeitungs Dokumenten zu
  117. sehen, würde man eine Kategorieanfrage wie folgt durchführen.
  118. </para>
  119. <programlisting language="php"><![CDATA[
  120. $feed = $docs->getDocumentListFeed(
  121. 'http://docs.google.com/feeds/documents/private/full/-/document');
  122. ]]></programlisting>
  123. </sect3>
  124. <sect3 id="zend.gdata.docs.listspreadsheets">
  125. <title>Eine Liste von Tabellenkalkulationen erhalten</title>
  126. <para>
  127. Um eine Liste aller eigenen Google Tabellenkalkulationen zu erhalten kann die
  128. folgende Abfrage verwendet werden:
  129. </para>
  130. <programlisting language="php"><![CDATA[
  131. $feed = $docs->getDocumentListFeed(
  132. 'http://docs.google.com/feeds/documents/private/full/-/spreadsheet');
  133. ]]></programlisting>
  134. </sect3>
  135. <sect3 id="zend.gdata.docs.textquery">
  136. <title>Eine Textabfrage durchführen</title>
  137. <para>
  138. Der Inhalt von Dokumenten kann durch Verwendung von
  139. <classname>Zend_Gdata_Docs_Query</classname> in der Abfrage durchsucht werden. Ein
  140. Abfrage Objekt kann verwendet werden um eine Abfrage <acronym>URI</acronym> zu
  141. erstellen, wobei der Suchbegriff als Parameter übergeben wird. Hier ist eine
  142. Beispielmethode welche die Dokumenten Liste nach Dokumenten abfrage die den
  143. Suchstring enthalten:
  144. </para>
  145. <programlisting language="php"><![CDATA[
  146. $docsQuery = new Zend_Gdata_Docs_Query();
  147. $docsQuery->setQuery($query);
  148. $feed = $client->getDocumentListFeed($docsQuery);
  149. ]]></programlisting>
  150. </sect3>
  151. </sect2>
  152. </sect1>