Gdy użytkownik wybierze plik i kliknie element menu „Otwórz w” interfejsu Dysku, Dysk przekieruje użytkownika do adresu URL aplikacji określonego w konfiguracji integracji interfejsu Dysku.
Jeśli podczas konfigurowania integracji interfejsu Dysku zaznaczysz pole „Importowanie”, użytkownik będzie mógł otworzyć pliki z Dysku i pliki z Google Workspace. Podczas konfigurowania integracji interfejsu użytkownika Dysku pliki związane z konkretną aplikacją 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 porównuje typy MIME 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 tym, jak obsługiwać pliki związane z aplikacją, znajdziesz w artykule Obsługa otwierania adresu URL w przypadku dokumentów związanych z aplikacją.
W przypadku typów MIME zdefiniowanych w polu „Dodatkowe typy MIME” interfejs Dysku wyświetla okno z prośbą o podanie typu pliku, do którego ma zostać przekonwertowany plik Google Workspace. Jeśli na przykład wybierzesz plik Dokumentów Google w interfejsie Dysku, a pole „Typy MIME pomocnicze” zasugeruje, że Twoja aplikacja obsługuje format text/plain lub application/pdf, interfejs Dysku zapyta użytkownika, czy chce przekonwertować plik na tekst zwykły czy PDF.
Informacje o obsługiwaniu plików Google Workspace znajdziesz w artykule Obsługa adresu URL do otwierania dokumentów Google Workspace. Listę formatów dokumentów Google Workspace i typów MIME do konwersji znajdziesz w artykule Eksportowanie typów MIME dokumentów Google Workspace.
Obsługa otwierania adresu URL w przypadku dokumentów związanych z aplikacją
Jak wspomniano w artykule Konfigurowanie integracji z interfejsem Dysku, aplikacja otrzymuje zmienne szablonu z informacjami umożliwiającymi jej otwarcie pliku. Aplikacja otrzymuje domyślny zestaw zmiennych szablonu w parametrze state
. Domyślne informacje state
dla adresu URL otwierającego aplikację:
{
"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 z identyfikatorami plików powiązanymi z odpowiednimi kluczami zasobów.
open
: wykonywana czynność. Gdy używasz adresu URL otwieranego w nowej karcie, wartość jestopen
.- USER_ID: identyfikator profilu, który jednoznacznie identyfikuje użytkownika.
Aplikacja musi wykonać tę prośbę, wykonując te czynności:
- Sprawdź, czy w polu
action
jest wartośćopen
, a w poluids
jest wartość obecna. - 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łówekX-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 za pomocą kluczy zasobów.
Parametr state
jest zakodowany w formacie URL, więc aplikacja musi obsługiwać znaki ucieczki i analizować go jako dane JSON.
Obsługa adresu URL otwierania dokumentów Google Workspace
Jak wspomniano w artykule Konfigurowanie integracji z interfejsem Dysku, Twoja aplikacja otrzymuje domyślny zestaw zmiennych szablonu w parametrze state
. Domyślne informacje state
w przypadku adresu URL do 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: lista oddzielonych przecinkami identyfikatorów plików, które mają zostać wyeksportowane (używana tylko podczas otwierania wbudowanych dokumentów Google).
- RESOURCE_KEYS: słownik JSON z identyfikatorami plików powiązanymi z odpowiednimi kluczami zasobów.
open
: wykonywana czynność. Gdy używasz adresu URL otwieranego w nowej karcie, wartość jestopen
.- USER_ID: identyfikator profilu, który identyfikuje użytkownika.
Aplikacja musi wykonać tę prośbę, wykonując te czynności:
Sprawdź, czy jest to prośba o otwarcie pliku, sprawdzając wartość
open
w polustate
i obecność polaexportIds
.Użyj metody
files.get
, aby sprawdzić uprawnienia, pobrać metadane pliku i określić typ MIME za pomocą wartościEXPORT_ID
.Konwertuj 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łówekX-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 za pomocą kluczy zasobów.Java
Python
Node.js
PHP
Wyświetlać przekonwertowane pliki tylko do odczytu lub wyświetlić okno dialogowe umożliwiające użytkownikowi zapisanie pliku jako nowego typu.
Parametr state
jest zakodowany w formacie URL, więc aplikacja musi obsługiwać znaki ucieczki i analizować go jako dane 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ć kilka kont, dlatego 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ę aplikacji i zaloguj się jako żądany użytkownik.
Powiązane artykuły
Oprócz otwierania aplikacji z interfejsu Dysku Google aplikacje mogą wyświetlać selektor plików, aby umożliwić wybór treści z poziomu aplikacji. Więcej informacji znajdziesz w artykule Selektor Google.