Gdy użytkownik wybierze plik i kliknie pozycję menu „Otwórz za pomocą” w interfejsie Dysku, Dysk przekieruje użytkownika do adresu URL aplikacji określonego w konfiguracji 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 na temat obsługi plików w określonych aplikacjach znajdziesz w sekcji Obsługa adresu URL otwartego dla dokumentów aplikacji.
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 wybierzesz w interfejsie Dysku plik Dokumentów Google, a w polu „Dodatkowe typy MIME” pojawi się informacja, że aplikacja obsługuje tekst/zwykły lub aplikację/pdf, interfejs Dysku zapyta użytkownika, czy chce przekonwertować plik na zwykły tekst czy plik PDF.
Informacje o tym, jak obsługiwać pliki Google Workspace, znajdziesz w artykule Obsługa adresu URL 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 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ślna informacja state
w przypadku otwartego adresu URL określonej 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. W przypadku korzystania z otwartego adresu URL wartość toopen
.- USER_ID: identyfikator profilu, który jednoznacznie identyfikuje użytkownika.
W odpowiedzi na to żądanie Twoja aplikacja musi wykonać 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 za pomocą wartościID
. - Jeśli w żądaniu ustawiono nagłówek
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 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: rozdzielana przecinkami lista identyfikatorów eksportowanych plików (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. Gdy używasz adresu URL do otwierania, 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 żą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
.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świetlaj przekonwertowane pliki jako tylko do odczytu lub wyświetlaj okno, które pozwala użytkownikowi zapisać plik jako nowy typ.
Parametr state
jest zakodowany na potrzeby adresu URL, dlatego aplikacja musi obsługiwać znaki zmiany znaczenia i przetwarzać je w formacie JSON.
Użytkownicy i nowe zdarzenia
Aplikacje Dysku powinny traktować wszystkie zdarzenia „otwieranie za pomocą” jako potencjalne logowanie. Niektórzy użytkownicy mogą mieć wiele 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.