<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 15617 -->
<!-- Reviewed: no -->
<sect1 id="zend.gdata.docs">
    <title>Verwenden der Google Dokumente Listen Daten API</title>

    <para>
        Die Google Dokumente Listen Daten API erlaubt es Client Anwendungen Dokumente zu Google
        Dokumente hochzuladen und diese in der Form von Google Daten API ("GData") Feeds
        aufzulisten. Die Client Anwendung kann eine Liste von Benutzer Dokumenten anfragen, und den
        Inhalt in einem existierenden Dokument abfragen.
    </para>

    <para>
        Siehe
        <ulink url="http://code.google.com/apis/documents/overview.html">http://code.google.com/apis/documents/overview.html</ulink>
        für weitere Informationen über die Google Dokumente Listen API.
    </para>

    <sect2 id="zend.gdata.docs.listdocuments">
        <title>Eine Liste von Dokumenten erhalten</title>
        <para>
            Man kann eine Liste von den Google Dokumenten für einen bestimmten Benutzer erhalten
            indem die <code>getDocumentListFeed</code> Methode des Docs Services verwendet wird.
            Das Service gibt ein <classname>Zend_Gdata_Docs_DocumentListFeed</classname> Objekt
            zurück das eine Liste von dokumenten enthält die mit dem authentifizierten Benutzer
            assoziiert sind.
        </para>

        <programlisting language="php"><![CDATA[
$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$docs = new Zend_Gdata_Docs($client);
$feed = $docs->getDocumentListFeed();
]]></programlisting>

        <para>
            Das sich ergebende <classname>Zend_Gdata_Docs_DocumentListFeed</classname> Objekt
            repräsentiert die Antwort des Servers. Dieser Feed enthält eine Liste von
            <classname>Zend_Gdata_Docs_DocumentListEntry</classname> Objekten
            (<code>$feed->entries</code>), wobei jeder von Ihnen ein einzelnes Google Dokument
            repräsentiert.
        </para>
    </sect2>

    <sect2 id="zend.gdata.docs.creating">
        <title>Ein Dokument hochladen</title>
        <para>
            Man kann ein neues Google Dokument erstellen indem ein Wortverarbeitungs Dokument, eine
            Tabellenkalkulation oder eine Präsentation hochgeladen wird. Dieses Beispiel ist vom
            interaktiven Docs.php Beispiel welches mit der Bibliothek kommt. Es demonstriert das
            Hochladen einer Datei und das Ausdrucken der Information über das Ergebnis vom Server.
        </para>
        <programlisting language="php"><![CDATA[
/**
 * Ein spezielles Dokument hochladen
 *
 * @param Zend_Gdata_Docs $docs Das Service Objekt das für die Kommunikation
 *                              mit dem Google Dokument Service verwendet wird
 * @param boolean $html True Wenn die Ausgabe für die Ausgabe in einem Web
 *                           Browser formatiert sein soll
 * @param string $originalFileName Der Name der Datei die hochgeladen werden
 *                                 soll. Der MIME-Typ dieser Datei wird von der
 *                                 Erweiterung des Dateinamens eruiert. Zum
 *                                 Beispiel wird test.csv als Komma geteilter
 *                                 Inhalt hochgeladen und in eine
 *                                 Tabellenkalkulation konvertiert
 * @param string $temporaryFileLocation (Optional) Die Datei in der die Daten
 *                                      für das Dokument gespeichert werden.
 *                                      Das wird verwendet wenn die Datei von
 *                                      der Maschine des Clients zum Server
 *                                      hochgeladen und in einer temporären
 *                                      Datei gespeichert wurde die keine
 *                                      Erweiterung hat. Wenn dieser Parameter
 *                                      null ist, wird die Datei von
 *                                      originalFileName gelesen.
 */
function uploadDocument($docs, $html, $originalFileName,
                        $temporaryFileLocation) {
  $fileToUpload = $originalFileName;
  if ($temporaryFileLocation) {
    $fileToUpload = $temporaryFileLocation;
  }

  // Datei hochladen un in ein Google Dokument konvertieren Der originale
  // Dateiname wird als Titel des Dokuments verwendet und der MIME Typ wird
  // basieren auf der erweiterung des originalen Dateinamens eruiert.
  $newDocumentEntry = $docs->uploadFile($fileToUpload, $originalFileName,
      null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);

  echo "Neuer Titel des Dokuments: ";

  if ($html) {
      // Die URL der HTML Ansicht dieses Dokuments finden.
      $alternateLink = '';
      foreach ($newDocumentEntry->link as $link) {
          if ($link->getRel() === 'alternate') {
              $alternateLink = $link->getHref();
          }
      }
      // Den Titellink zum dokument auf docs.google.com erstellen.
      echo "<a href=\"$alternateLink\">\n";
  }
  echo $newDocumentEntry->title."\n";
  if ($html) {echo "</a>\n";}
}
]]></programlisting>
    </sect2>

    <sect2 id="zend.gdata.docs.queries">
        <title>Den Dokumenten Feed durchsuchen</title>
        <para>
            Die Dokumenten Liste kann durchsucht werden indem einer der
            <ulink url="http://code.google.com/apis/gdata/reference.html#Queries">standardmäßigen
            Google Daten API Abfrageparameter</ulink> verwendet wird. Kategorien werden verwendet um
            den Typ des Dokuments das zurückgegeben wird (Wortverarbeitungs Dokument,
            Tabellenkalkulation) einzuschränken. Detailiertere Informationen über Parameter die
            speziell in der Dokumenten Liste vorhanden sind können in der
            <ulink url="http://code.google.com/apis/documents/reference.html#Parameters">Dokumenten
                Listen Daten API Referenz Anleitung</ulink> gefunden werden.
        </para>

        <sect3 id="zend.gdata.docs.listwpdocuments">
            <title>Eine Liste von Wortverarbeitungs Dokumenten erhalten</title>
            <para>
                Ein Feed der alle Dokumente eines speziellen Typs enthält kann auch angefragt
                werden. Um zum Beispiel eine Liste von eigenen Wortverarbeitungs Dokumenten zu
                sehen, würde man eine Kategorieanfrage wie folgt durchführen.
            </para>

            <programlisting language="php"><![CDATA[
$feed = $docs->getDocumentListFeed(
    'http://docs.google.com/feeds/documents/private/full/-/document');
]]></programlisting>
        </sect3>

        <sect3 id="zend.gdata.docs.listspreadsheets">
            <title>Eine Liste von Tabellenkalkulationen erhalten</title>
            <para>
                Um eine Liste aller eigenen Google Tabellenkalkulationen zu erhalten kann die
                folgende Abfrage verwendet werden:
            </para>

            <programlisting language="php"><![CDATA[
$feed = $docs->getDocumentListFeed(
    'http://docs.google.com/feeds/documents/private/full/-/spreadsheet');
]]></programlisting>
        </sect3>

        <sect3 id="zend.gdata.docs.textquery">
            <title>Eine Textabfrage durchführen</title>
            <para>
                Der Inhalt von Dokumenten kann durch Verwendung von
                <classname>Zend_Gdata_Docs_Query</classname> in der Abfrage durchsucht werden. Ein
                Abfrage Objekt kann verwendet werden um eine Abfrage URI zu erstellen, wobei der
                Suchbegriff als Parameter übergeben wird. Hier ist eine Beispielmethode welche die
                Dokumenten Liste nach Dokumenten abfrage die den Suchstring enthalten:
            </para>
            <programlisting language="php"><![CDATA[
$docsQuery = new Zend_Gdata_Docs_Query();
$docsQuery->setQuery($query);
$feed = $client->getDocumentListFeed($docsQuery);
]]></programlisting>
        </sect3>

    </sect2>

</sect1>
