Gdy użytkownik wybierze plik i kliknie element menu „Otwórz za pomocą” w interfejsie Dysku, Dysk przekieruje go pod adres URL do otwierania tej aplikacji zdefiniowany w artykule Konfigurowanie integracji interfejsu Dysku.
Jeśli podczas konfigurowania interfejsu użytkownika Dysku zaznaczono pole „Importowanie”, użytkownik może wybrać kombinację plików aplikacji i plików Google Workspace, które chce otworzyć. Podczas konfigurowania interfejsu użytkownika Dysku pliki aplikacji są 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 porównuje typy MIME pod kątem zdefiniowanych domyślnych i dodatkowych typów 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 aplikacji znajdziesz w sekcji Obsługa otwierania adresu URL dokumentów aplikacji.
W przypadku typów MIME zdefiniowanych w polu „Dodatkowe typy MIME” w interfejsie Dysku pojawia się okno z pytaniem, na jaki typ pliku ma zostać przekonwertowany plik Google Workspace. Jeśli na przykład wybierzesz plik Dokumentów Google w interfejsie Dysku, a pole „Dodatkowe typy MIME” wskazuje, że aplikacja obsługuje tekst/zwykły tekst lub application/pdf, interfejs Dysku zapyta użytkownika, czy chce przekonwertować go na zwykły tekst lub na PDF.
Informacje o obsłudze plików Google Workspace znajdziesz w artykule Obsługa otwartego adresu URL dokumentów Google Workspace (w języku angielskim). Listę dokumentów Google Workspace i formaty konwersji według typu MIME znajdziesz w artykule Eksportowanie typów MIME dokumentów Google Workspace.
Obsługa otwartego adresu URL w przypadku dokumentów dotyczących aplikacji
Jak wspomnieliśmy w sekcji Konfigurowanie integracji interfejsu Dysku, aplikacja otrzymuje zmienne szablonu z informacjami, które pozwalają aplikacji otworzyć plik. Aplikacja otrzymuje domyślny zestaw zmiennych szablonu w parametrze state
. Domyślne informacje state
dla otwartego adresu URL 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 zawierający identyfikatory plików zmapowane na odpowiednie klucze zasobów.
open
: wykonywana czynność. Gdy korzystasz z otwartego adresu URL, wartość wynosiopen
.- USER_ID: niepowtarzalny identyfikator profilu, który identyfikuje użytkownika.
Aplikacja musi zareagować na to żądanie w ten sposób:
- Sprawdź, czy pole
action
ma wartośćopen
i czy występuje poleids
. - 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ć treść 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 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 jako JSON.
Obsługa otwartego adresu URL dokumentów Google Workspace
Jak wspomnieliśmy w artykule Konfigurowanie integracji interfejsu Dysku, aplikacja otrzymuje domyślny zestaw zmiennych szablonu w parametrze state
. Domyślne informacje state
w przypadku otwartego adresu URL w 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 eksportowanych identyfikatorów plików (używana tylko podczas otwierania wbudowanych dokumentów Google).
- RESOURCE_KEYS: słownik JSON zawierający identyfikatory plików zmapowane na odpowiednie klucze zasobów.
open
: wykonywana czynność. Gdy korzystasz z otwartego adresu URL, wartość wynosiopen
.- USER_ID: identyfikator profilu, który identyfikuje użytkownika.
Aplikacja musi zareagować na to żądanie w ten sposób:
Sprawdź, czy jest to żądanie otwarcia pliku – wykrywaj 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 treść pliku metodą
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 Uzyskiwanie dostępu do plików udostępnionych przez link za pomocą kluczy zasobów.Java
Python
Node.js
PHP
Wyświetl przekonwertowane pliki jako tylko do odczytu lub pokaż okno, w którym użytkownik może zapisać plik jako nowy typ.
Parametr state
jest zakodowany na potrzeby adresu URL, więc aplikacja musi obsługiwać znaki zmiany znaczenia i analizować go jako JSON.
Użytkownicy i nowe zdarzenia
Aplikacje Dysku powinny traktować wszystkie zdarzenia „otwieraj” jako potencjalne logowanie. Niektórzy użytkownicy mogą mieć wiele kont, więc identyfikator użytkownika w parametrze state
może nie odpowiadać bieżącej sesji. 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.
Powiązane artykuły
Aplikacje mogą nie tylko otwierać aplikacje z poziomu interfejsu Dysku Google, ale także wyświetlać selektor plików, który pozwala wybrać treści z poziomu aplikacji. Więcej informacji znajdziesz w artykule o selektorze Google.