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ść tocreate
, 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:
- Sprawdź, czy pole
action
zawiera wartośćcreate
. - 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. - Aby utworzyć zasób pliku, użyj metody
files.create
. Jeśli w żądaniu ustawiono właściwośćfolderId
, ustaw poleparents
na wartośćfolderId
. - Jeśli w żądaniu ustawiono nagłówek
folderResourceKey
, ustaw nagłówek żądaniaX-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.