Integracja z interfejsem Dysku

Gdy użytkownik kliknie przycisk „Nowy” w interfejsie Dysku i wybierz aplikację na interfejsu Dysku, Dysk przekierowuje użytkownika do nowego adresu URL tej aplikacji zdefiniowane w artykule Konfigurowanie interfejsu Dysku .

Aplikacja otrzymuje wtedy domyślny zestaw zmiennych szablonu w kodzie state. Domyślna wartość state Oto informacje o nowym adresie URL:

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

Dane wyjściowe zawierają następujące wartości:

  • create: wykonywane działanie. Wartość wynosi create, jeśli użytkownik klika 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.

W odpowiedzi na to żądanie Twoja aplikacja musi wykonać te czynności:

  1. Sprawdź, czy pole action zawiera wartość create.
  2. Użyj wartości userId, aby utworzyć nową sesję dla użytkownika. Więcej informacji o zalogowanych użytkownikach, zapoznaj się z sekcją Użytkownicy i nowych wydarzeń.
  3. Użyj metody files.create, aby utworzyć zasób pliku. Jeśli w żądaniu ustawiono atrybut folderId, ustaw parametr parents na wartość folderId.
  4. Jeśli w żądaniu ustawiono atrybut folderResourceKey, ustaw parametr Nagłówek żądania X-Goog-Drive-Resource-Keys. Więcej informacji na temat: klucze zasobów, zobacz Uzyskiwanie dostępu do plików udostępnionych za pomocą linków za pomocą zasobu .

Parametr state jest zakodowany na potrzeby adresu URL, więc aplikacja musi obsługiwać zmianę znaczenia i przeanalizuj go jako JSON.

Użytkownicy i nowe wydarzenia

Aplikacje Dysku powinny traktować wszystkie uprawnienia do tworzenia zdarzeń jako potencjalnych dane logowania. Niektórzy użytkownicy mogą mieć wiele kont, więc identyfikator użytkownika w state może nie pasować do bieżącej sesji. Jeśli identyfikator użytkownika w state nie pasuje do bieżącej sesji, zakończ bieżącą sesję i zaloguj się jako żądany użytkownik.