Gdy użytkownik wybierze plik i kliknie w interfejsie Dysku opcję „Otwórz za pomocą”, Dysk przekieruje go do adresu URL otwierania aplikacji zdefiniowanego w sekcji Konfigurowanie integracji z interfejsem Dysku.
Jeśli podczas konfigurowania integracji z interfejsem Dysku zaznaczysz pole „Importowanie”, użytkownik będzie mógł wybrać kombinację plików specyficznych dla aplikacji i plików Google Workspace. Gdy skonfigurujesz integrację z interfejsem Dysku, pliki specyficzne dla aplikacji zostaną zdefiniowane w polach „Domyślne typy MIME” i „Domyślne rozszerzenia plików”, a pliki Google Workspace – w polach „Dodatkowe typy MIME” i „Dodatkowe rozszerzenia plików”.
W przypadku każdego pliku, który użytkownik chce otworzyć, Dysk sprawdza typy MIME w porównaniu ze zdefiniowanymi przez Ciebie domyślnymi i dodatkowymi typami MIME:
W przypadku typów MIME zdefiniowanych w polu „Domyślne typy MIME” identyfikator pliku jest przekazywany do aplikacji. Więcej informacji o tym, jak obsługiwać pliki specyficzne dla aplikacji, znajdziesz w artykule Obsługa adresu URL otwierania dokumentów specyficznych dla aplikacji.
W przypadku typów MIME zdefiniowanych w polu „Dodatkowe typy MIME” w interfejsie Dysku wyświetla się okno z pytaniem, na jaki typ pliku przekonwertować plik Google Workspace. Jeśli na przykład w interfejsie Dysku wybierzesz plik Dokumentów Google, a w polu „Dodatkowe typy MIME” będzie sugerowane, że Twoja aplikacja obsługuje typy text/plain lub application/pdf, interfejs Dysku zapyta użytkownika, czy chce przekonwertować plik na tekst lub PDF.
Więcej informacji o tym, jak obsługiwać pliki Google Workspace , znajdziesz w artykule Obsługa adresu URL otwierania dokumentów Google Workspace. Listę dokumentów Google Workspace i formatów konwersji typów MIME znajdziesz w artykule Eksportowanie typów MIME dokumentów Google Workspace dokumentów.
Obsługa adresu URL otwierania dokumentów specyficznych dla aplikacji
Jak wspomnieliśmy w artykule Konfigurowanie integracji z interfejsem Dysku,
Twoja aplikacja otrzymuje zmienne szablonu z informacjami, które pozwalają jej otworzyć
plik. Aplikacja otrzymuje domyślny zestaw zmiennych szablonu
w parametrze state. Domyślne informacje state dla adresu URL otwierania specyficznego dla aplikacji to:
{
"ids": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
Dane wyjściowe zawierają te wartości:
- ID: identyfikator folderu nadrzędnego.
- RESOURCE_KEYS: słownik JSON identyfikatorów plików mapowanych na odpowiednie klucze zasobów.
open: wykonywane działanie. Gdy używasz adresu URL otwierania, wartość toopen.- USER_ID: identyfikator profilu, który jednoznacznie identyfikuje użytkownika.
Twoja aplikacja musi zareagować na to żądanie, wykonując te czynności:
- Sprawdź, czy pole
actionma wartośćopeni czy poleidsjest obecne. - Użyj wartości
userId, aby utworzyć nową sesję dla użytkownika. Więcej informacji o zalogowanych użytkownikach znajdziesz w artykule Użytkownicy i nowe zdarzenia. - Użyj metody
files.get, aby sprawdzić uprawnienia, pobrać metadane pliku i pobrać zawartość pliku za pomocą wartościID. - Jeśli w żądaniu ustawiono
resourceKeys, ustaw nagłówek żądaniaX-Goog-Drive-Resource-Keys. Więcej informacji o kluczach zasobów znajdziesz w artykule Dostęp do plików udostępnionych za pomocą linku przy użyciu kluczy zasobów.
Parametr state jest zakodowany w adresie URL, więc Twoja aplikacja musi obsługiwać znaki ucieczki i analizować go jako JSON.
Obsługa adresu URL otwierania dokumentów Google Workspace
Jak wspomnieliśmy w artykule Konfigurowanie integracji
z interfejsem Dysku, Twoja aplikacja otrzymuje domyślny zestaw
zmiennych szablonu w parametrze state. Domyślne informacje state dla adresu URL otwierania Google Workspace to:
{
"exportIds": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
Dane wyjściowe zawierają te wartości:
- EXPORT_ID: rozdzielona przecinkami lista identyfikatorów eksportowanych plików. Używane tylko podczas otwierania plików Google Workspace.
- RESOURCE_KEYS: słownik JSON identyfikatorów plików mapowanych na odpowiednie klucze zasobów.
open: wykonywane działanie. Gdy używasz adresu URL otwierania, wartość toopen.- USER_ID: identyfikator profilu, który identyfikuje użytkownika.
Twoja aplikacja musi zareagować na to żądanie, wykonując te czynności:
Sprawdź, czy jest to żądanie otwarcia pliku, wykrywając zarówno wartość
openw polustate, jak i obecność polaexportIds.Użyj metody
files.get, aby sprawdzić uprawnienia, pobrać metadane pliku i określić typ MIME za pomocą wartościEXPORT_ID.Przekonwertuj zawartość pliku za pomocą metody
files.export. Poniższy przykładowy kod pokazuje, jak wyeksportować dokument Google Workspace do żądanego typu MIME.Jeśli w żądaniu ustawiono
resourceKey, ustaw nagłówek żądaniaX-Goog-Drive-Resource-Keys. Więcej informacji o kluczach zasobów znajdziesz w artykule Dostęp do plików udostępnionych za pomocą linku przy użyciu kluczy zasobów.Java
Python
Node.js
PHP
Wyświetl przekonwertowane pliki jako tylko do odczytu lub wyświetl okno, w którym użytkownik może zapisać plik w nowym typie.
Parametr state jest zakodowany w adresie URL, więc Twoja aplikacja musi obsługiwać znaki ucieczki i analizować go jako JSON.
Użytkownicy i nowe zdarzenia
Aplikacje na Dysku powinny traktować wszystkie zdarzenia „Otwórz za pomocą” jako potencjalne logowanie. Niektórzy użytkownicy mogą mieć kilka kont, więc identyfikator użytkownika w parametrze state może nie pasować do bieżącej sesji. Jeśli identyfikator użytkownika w parametrze state nie pasuje do bieżącej sesji, zakończ bieżącą sesję w aplikacji i zaloguj się jako żądany użytkownik.
Powiązane artykuły
Oprócz otwierania aplikacji z interfejsu Dysku Google aplikacje mogą wyświetlać okno wyboru plików, aby wybierać treści w aplikacji. Więcej informacji znajdziesz w artykule Google Picker.