Zend_Gdata_Docs.xml 7.8 KB

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