Gdy użytkownik wybierze plik i kliknie pozycję menu Dysku „Otwórz za pomocą”, 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 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ługiwaniu plików związanych 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” interfejs Dysku wyświetla okno z pytaniem, na jaki typ pliku 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ę 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 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 zbiór 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 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 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 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
dla adresu URL 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. 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 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świetlać okno, które pozwala użytkownikowi zapisać plik jako nowy typ pliku.
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 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.