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

Wenn ein Nutzer auf die Schaltfläche „Neu“ der Drive-UI klickt und eine App dort auswählt, wird er von Drive an die neue URL weitergeleitet, die unter Drive-UI-Integration konfigurieren definiert wurde.

Die Anwendung empfängt dann einen Standardsatz von Vorlagenvariablen innerhalb eines state-Parameters. Die Standardinformationen für state 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. Wenn ein Nutzer auf die Schaltfläche „Neu“ in der Drive-UI klickt, ist der Wert create.
  • 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. Das Feld action muss den Wert create enthalten.
  2. Erstellen Sie mit dem Wert userId eine neue Sitzung für den Nutzer. 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, legen Sie das Feld parents auf den Wert folderId fest.
  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 Mit Ressourcenschlüsseln auf per Link freigegebene Dateien zugreifen.

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

Nutzer und neue Ereignisse

Drive-Anwendungen sollten alle Erstellungsereignisse 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 Anwendung und melden Sie sich als der angeforderte Nutzer an.