Best Practices für optimale Ergebnisse

Bei der Verwendung der Google Docs API sollten Sie mehrere Prinzipien beachten. Dazu gehören:

  • Für mehr Effizienz rückwärts bearbeiten
  • Zusammenarbeit planen
  • Achten Sie darauf, dass der Status mit WriteControl übereinstimmt.

In den folgenden Abschnitten werden diese Prinzipien erläutert.

Für mehr Effizienz rückwärts bearbeiten

Ordnen Sie mit einem einzigen Aufruf der Methode BatchUpdate Ihre Anfragen in absteigender Reihenfolge nach dem Indexstandort an. Dadurch müssen die Indexänderungen aufgrund von Einfügungen und Löschungen nicht berechnet werden.

Zusammenarbeit planen

Der Dokumentstatus wird sich voraussichtlich ändern. Zwischen einem Methodenaufruf und einem anderen können andere Mitbearbeiter das Dokument aktualisieren, wie im folgenden Diagramm dargestellt:

Wie sich ein Dokument zwischen Methodenaufrufen ändern kann.

Dies kann zu Fehlern führen, wenn Ihre Indexe falsch sind. Wenn mehrere Nutzer ein Dokument über die Benutzeroberfläche bearbeiten, übernimmt Google Docs dies transparent. Als API-Client muss Ihre Anwendung dies jedoch verwalten. Auch wenn Sie keine Zusammenarbeit am Dokument erwarten, ist es wichtig, defensiv zu programmieren und dafür zu sorgen, dass der Dokumentstatus konsistent bleibt. Eine Möglichkeit, Konsistenz zu gewährleisten, finden Sie unten im Abschnitt WriteControl.

Zustandskonsistenz mit WriteControl sicherstellen

Wenn Sie ein Dokument lesen und dann aktualisieren, können Sie mithilfe des Felds WriteControl in der Methode BatchUpdate dafür sorgen, dass das Dokument nicht aktualisiert wurde. So können Sie das Dokument nur bearbeiten, wenn die Version nicht geändert wurde. So funktioniert's:

  1. Rufen Sie das Dokument ab und speichern Sie den darin enthaltenen revisionId-String.
  2. Verfassen Sie Ihre Aktualisierungsanfragen.
  3. Fügen Sie ein WriteControl-Objekt ein, bei dem die requiredRevisionId auf den gespeicherten String festgelegt ist.
  4. Wenn Sie BatchUpdate aufrufen und sich die Dokumentüberarbeitung geändert hat, wird ein Fehler zurückgegeben und es wird keine Aktualisierung durchgeführt.