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

Wenn ein Nutzer auf die Schaltfläche Neu in der Drive-Benutzeroberfläche klickt und eine App auswählt, wird er von Drive zur Neu-URL dieser App weitergeleitet, die unter Drive-Benutzeroberfläche für die Integration konfigurieren definiert ist.

Ihre App erhält dann einen Standardsatz von Vorlagenvariablen in einem state-Parameter. Die Standardstate-Informationen für eine neue URL sind:

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

Diese Ausgabe enthält die folgenden Werte:

  • create: Die ausgeführte Aktion. 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 enthält.
  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 folderId.
  4. Wenn folderResourceKey für die Anfrage festgelegt wurde, legen Sie den Anfrageheader X-Goog-Drive-Resource-Keys fest. Weitere Informationen zu Ressourcenschlüsseln finden Sie unter Über Ressourcenschlüssel auf per Link freigegebene Dateien zugreifen.

Der Parameter state ist URL-codiert. Ihre App muss die Escape-Zeichen verarbeiten und als JSON parsen.

Nutzer und neue Ereignisse

Drive-Apps sollten alle „Erstellen“-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, beende die aktuelle Sitzung für deine App und melde dich als der angeforderte Nutzer an.