Schaltfläche „Neu“ der Drive-Benutzeroberfläche einbinden

Wenn ein Nutzer in der Drive-Benutzeroberfläche auf die Schaltfläche Neu klickt und eine App auswählt, leitet Drive ihn zur URL „Neu“ dieser App weiter, die unter Drive-Benutzeroberflächenintegration konfigurieren definiert ist.

Ihre App erhält dann einen Standardsatz von Vorlagenvariablen innerhalb eines state-Parameters. Die Standardinformationen für eine neue URL sind:state

{
  "action":"create",
  "folderId":"FOLDER_ID",
  "folderResourceKey":"FOLDER_RESOURCE_KEY",
  "userId":"USER_ID"
}

Diese Ausgabe enthält die folgenden Werte:

  • create: Die Aktion, die ausgeführt wird. Der Wert ist create, wenn ein Nutzer auf die Schaltfläche Neu in der Drive-Benutzeroberfläche klickt.
  • FOLDER_ID: Die ID des übergeordneten Ordners.
  • FOLDER_RESOURCE_KEY: Der Ressourcenschlüssel des übergeordneten Ordners.
  • USER_ID: Die Profil-ID, die den Nutzer eindeutig identifiziert.

Ihre App muss auf diese Anfrage reagieren. Gehen Sie dazu so vor:

  1. Prüfen Sie, ob das Feld action den Wert create hat.
  2. Verwenden Sie den Wert userId, um eine neue Sitzung für den Nutzer zu erstellen. Weitere Informationen zu angemeldeten Nutzern finden Sie unter Nutzer und neue Ereignisse.
  3. Verwenden Sie die Methode files.create, um eine Dateiressource zu erstellen. Wenn folderId in der Anfrage festgelegt wurde, setzen Sie das Feld parents auf den Wert von folderId.
  4. Wenn folderResourceKey für die Anfrage festgelegt wurde, legen Sie den Anfrage-Header X-Goog-Drive-Resource-Keys fest. Weitere Informationen zu Ressourcenschlüsseln finden Sie unter Über Links freigegebene Dateien mit Ressourcenschlüsseln aufrufen.

Der Parameter state ist URL-codiert. Ihre App muss also die Escapezeichen verarbeiten und ihn als JSON parsen.

Nutzer und neue Ereignisse

Drive-Apps sollten alle „create“-Ereignisse als potenzielle Anmeldungen behandeln. Einige Nutzer haben möglicherweise mehrere Konten. Daher stimmt die Nutzer-ID im Parameter state möglicherweise nicht mit der aktuellen Sitzung überein. Wenn die Nutzer-ID im Parameter state nicht mit der aktuellen Sitzung übereinstimmt, beenden Sie die aktuelle Sitzung für Ihre App und melden Sie sich als der angeforderte Nutzer an.