Integracja z interfejsem Dysku

Gdy użytkownik kliknie przycisk „Nowy” w interfejsie Dysku i wybierze aplikację w interfejsie Dysku, Dysk przekieruje go do nowego adresu URL tej aplikacji zdefiniowanego w artykule Konfigurowanie integracji interfejsu Dysku.

Aplikacja otrzymuje wtedy domyślny zestaw zmiennych szablonu w parametrze state. Domyślne informacje state w przypadku nowego adresu URL to:

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

Dane wyjściowe zawierają te wartości:

  • create: wykonywana czynność. Wartość to create, gdy użytkownik kliknie przycisk „Nowy” w interfejsie Dysku.
  • FOLDER_ID: identyfikator folderu nadrzędnego.
  • FOLDER_RESOURCE_KEY: klucz zasobu folderu nadrzędnego.
  • USER_ID: identyfikator profilu, który jednoznacznie identyfikuje użytkownika.

Aplikacja musi zareagować na to żądanie, wykonując te czynności:

  1. Sprawdź, czy pole action zawiera wartość create.
  2. Utwórz nową sesję dla użytkownika, korzystając z wartości userId. Więcej informacji o zalogowanych użytkownikach znajdziesz w artykule Użytkownicy i nowe zdarzenia.
  3. Aby utworzyć zasób pliku, użyj metody files.create. Jeśli w żądaniu ustawiono właściwość folderId, ustaw pole parents na wartość folderId.
  4. Jeśli w żądaniu ustawiono nagłówek folderResourceKey, ustaw nagłówek żądania X-Goog-Drive-Resource-Keys. Więcej informacji o kluczach zasobów znajdziesz w artykule Uzyskiwanie dostępu do plików udostępnionych przez link za pomocą kluczy zasobów.

Parametr state jest zakodowany na potrzeby adresu URL, więc aplikacja musi obsługiwać znaki zmiany znaczenia i analizować go w formacie JSON.

Użytkownicy i nowe zdarzenia

Aplikacje Dysku powinny traktować wszystkie zdarzenia „create” jako potencjalne logowania. Niektórzy użytkownicy mogą mieć wiele kont, więc identyfikator użytkownika w parametrze state może nie być zgodny z bieżącą sesją. Jeśli identyfikator użytkownika w parametrze state nie pasuje do bieżącej sesji, zakończ bieżącą sesję aplikacji i zaloguj się jako żądany użytkownik.