Gdy użytkownik wybierze plik i kliknie element menu „Otwórz za pomocą” w interfejsie Dysku, Dysk przekieruje go do adresu URL otwierania aplikacji zdefiniowanego w artykule Konfigurowanie integracji z interfejsem Dysku.
Jeśli podczas konfigurowania integracji interfejsu Dysku zaznaczysz pole „Importowanie”, użytkownik będzie mógł wybrać kombinację plików specyficznych dla aplikacji i plików Google Workspace do otwarcia. Podczas konfigurowania integracji interfejsu Dysku pliki specyficzne dla aplikacji są definiowane 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 z zdefiniowanymi domyślnymi i dodatkowymi typami MIME:
W przypadku typów MIME zdefiniowanych w polu „Domyślne typy MIME” identyfikator pliku jest przekazywany do aplikacji. Informacje o obsłudze plików specyficznych dla aplikacji znajdziesz w artykule Obsługa adresu URL otwartego dla dokumentów specyficznych dla aplikacji.
W przypadku typów MIME zdefiniowanych w polu „Dodatkowe typy MIME” interfejs Dysku wyświetla okno z pytaniem, na jaki typ pliku użytkownik chce przekonwertować plik Google Workspace. Jeśli na przykład w interfejsie Dysku wybierzesz plik Dokumentów Google, a w polu „Dodatkowe typy MIME” pojawi się informacja, że Twoja aplikacja obsługuje typy text/plain lub application/pdf, interfejs Dysku zapyta użytkownika, czy chce przekonwertować plik na tekst prosty lub PDF.
Informacje o tym, jak obsługiwać pliki Google Workspace, znajdziesz w artykule Obsługa otwartego adresu URL dokumentów Google Workspace. Listę dokumentów Google Workspace i formatów konwersji typów MIME znajdziesz w artykule Eksportowanie typów MIME dla dokumentów Google Workspace.
Obsługa otwierania adresu URL w przypadku dokumentów specyficznych dla aplikacji
Jak wspomnieliśmy w artykule Konfigurowanie integracji interfejsu Dysku, Twoja aplikacja otrzymuje zmienne szablonu z informacjami, które umożliwiają jej otwarcie pliku. Aplikacja otrzymuje domyślny zestaw zmiennych szablonu w parametrze state
. Domyślne informacje state
dla adresu URL otwierania 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
: wykonywana czynność. W przypadku używania funkcji OpenURL wartość toopen
.- USER_ID: identyfikator profilu, który jednoznacznie identyfikuje użytkownika.
Aplikacja musi zareagować na tę prośbę, wykonując te czynności:
- Sprawdź, czy pole
action
ma wartośćopen
i czy poleids
jest obecne. - Użyj wartości
userId
, aby utworzyć nową sesję 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 wartość
resourceKeys
, 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 za pomocą linku przy użyciu kluczy zasobów.
Parametr state
jest zakodowany w formacie adresu URL, więc aplikacja musi obsługiwać znaki ucieczki i parsować go jako JSON.
Obsługa otwierania adresu URL dokumentów Google Workspace
Jak wspomniano w artykule Konfigurowanie integracji interfejsu Dysku, Twoja aplikacja otrzymuje domyślny zestaw zmiennych szablonu w ramach parametru state
. Domyślne state
informacjestate
o adresie URL otwartego dostępu Google Workspace to:
{
"exportIds": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
Dane wyjściowe zawierają te wartości:
- EXPORT_ID: Lista identyfikatorów plików oddzielonych przecinkami, które są eksportowane (używana tylko podczas otwierania wbudowanych dokumentów Google).
- RESOURCE_KEYS: słownik JSON identyfikatorów plików mapowanych na odpowiednie klucze zasobów.
open
: wykonywana czynność. W przypadku używania funkcji OpenURL wartość toopen
.- USER_ID: identyfikator profilu, który identyfikuje użytkownika.
Aplikacja musi zareagować na tę prośbę, wykonując te czynności:
Sprawdź, czy jest to żądanie otwarcia pliku, wykrywając zarówno wartość
open
w 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 wartość
resourceKey
, 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 za pomocą linku przy użyciu kluczy zasobów.Java
Python
Node.js
PHP
Wyświetl przekonwertowane pliki w trybie tylko do odczytu lub wyświetl okno dialogowe, w którym użytkownik może zapisać plik w nowym formacie.
Parametr state
jest zakodowany w formacie adresu URL, więc aplikacja musi obsługiwać znaki ucieczki i parsować go jako JSON.
Użytkownicy i nowe zdarzenia
Aplikacje na Dysku powinny traktować wszystkie zdarzenia „Otwórz za pomocą” jako potencjalne logowania. Niektórzy użytkownicy mogą mieć wiele 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 użytkownik, który wysłał prośbę.
Powiązane artykuły
Oprócz otwierania aplikacji z interfejsu Dysku Google aplikacje mogą wyświetlać selektor plików, aby wybierać treści w aplikacji. Więcej informacji znajdziesz w Google Picker.