Gdy użytkownik wybierze plik i kliknie pozycję menu „Otwórz za pomocą” w interfejsie Dysku, Dysk przekieruje go pod adres URL otwartej aplikacji zdefiniowany w artykule Konfigurowanie integracji interfejsu Dysku.
Jeśli podczas konfigurowania integracji z interfejsem Dysku zaznaczysz pole „Importowanie”, użytkownik będzie mógł otworzyć pliki z Dysku i z Google Workspace. Podczas konfigurowania integracji interfejsu Dysku pliki związane z aplikacjami 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 Twoimi zdefiniowanymi typami domyślnymi i dodatkowymi:
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 adresu URL do otwierania dokumentów związanych z aplikacją.
W przypadku typów MIME zdefiniowanych w polu „Dodatkowe typy MIME” w UI Dysku wyświetla się okno z pytaniem, na jaki typ pliku należy przekonwertować plik Google Workspace. Jeśli na przykład w interfejsie Dysku wybierzesz plik Dokumentów Google, 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 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 typu MIME znajdziesz w artykule Eksportowanie typów MIME w przypadku dokumentów Google Workspace.
Obsługa adresu URL otwierania dokumentów w przypadku aplikacji
Jak wspomniano w artykule Konfigurowanie integracji z interfejsem Dysku, Twoja aplikacja otrzymuje zmienne szablonu z informacjami umożliwiającymi jej otwarcie pliku. Aplikacja otrzymuje domyślny zestaw zmiennych szablonu w ramach parametru state
. Domyślne informacje state
dotyczące otwierania adresu URL w aplikacji:
{
"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 zmapowanymi na odpowiednie klucze zasobów.
open
: wykonywane działanie. Gdy używasz adresu URL do otwierania, wartość toopen
.- USER_ID: identyfikator profilu, który jednoznacznie identyfikuje użytkownika.
Aplikacja musi wykonać tę prośbę, wykonując te czynności:
- Sprawdź, czy pole
action
ma wartośćopen
, a poleids
jest 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 z użyciem 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ą linków za pomocą kluczy zasobów.
Parametr state
jest zakodowany w formacie URL, więc aplikacja musi obsługiwać znaki ucieczki i przetwarzać go jako dane JSON.
Obsługa otwartego adresu URL 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
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
: wykonywane działanie. W przypadku korzystania z otwartego adresu URL wartość toopen
.- 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 przetwarzać go jako dane JSON.
Użytkownicy i nowe zdarzenia
Aplikacje Dysku powinny traktować wszystkie zdarzenia „otwarte w” jako potencjalne logowania. Niektórzy użytkownicy mogą mieć kilka 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
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.