Z tego dokumentu dowiesz się, jak zintegrować selektor Google z aplikacjami na komputery i urządzenia mobilne za pomocą interfejsu Google Picker API.
Interfejs Google Picker API umożliwia użytkownikom wybieranie lub przesyłanie plików z Dysku Google. Użytkownicy mogą przyznawać Twojej aplikacji na komputer, urządzenie mobilne lub aplikacji internetowej uprawnienia dostępu do danych na Dysku, co zapewnia bezpieczny i autoryzowany sposób interakcji z plikami.
Funkcje
Selektor Google ma kilka funkcji:
- Podobny wygląd do interfejsu Dysku Google.
- Kilka widoków przedstawiających podglądy i miniatury plików na Dysku.
- Wstępnie przefiltrowane widoki, które pokazują tylko określone typy plików (np. PDF-y lub obrazy) lub określone foldery.
- Przekierowanie do selektora Google na nowej karcie w domyślnej przeglądarce użytkownika. Aby interfejs Google Picker API otwierał się na stronie klienta, użyj interfejsu Google Picker API dla aplikacji internetowych.
Pamiętaj, że za pomocą selektora Google możesz wybierać i przesyłać pliki, ale nie możesz organizować, przenosić ani kopiować plików z jednego folderu do drugiego. Aby zarządzać plikami, musisz używać interfejsu Google Drive API lub interfejsu Dysku.
Wymagania wstępne
Aplikacje korzystające z Google Picker muszą przestrzegać wszystkich obowiązujących Warunków usługi. Najważniejsze jest prawidłowe zidentyfikowanie się w żądaniach.
Musisz też mieć projekt w chmurze Google Cloud.
Konfigurowanie środowiska
Aby rozpocząć korzystanie z interfejsu Google Picker API, musisz skonfigurować środowisko.
Włącz API
Zanim zaczniesz korzystać z interfejsów API Google, musisz je włączyć w projekcie w chmurze Google. W jednym projekcie Google Cloud możesz włączyć co najmniej 1 interfejs API.W konsoli Google Cloud włącz interfejs Google Picker API.
Konfigurowanie uwierzytelniania i autoryzacji
Aby uwierzytelniać użytkowników i uzyskiwać dostęp do danych użytkowników w aplikacji, musisz utworzyć co najmniej 1 identyfikator klienta OAuth 2.0. Identyfikator klienta wskazuje konkretną aplikację na serwerach OAuth Google. Jeśli Twoja aplikacja działa na kilku platformach, musisz utworzyć osobny identyfikator klienta dla każdej z nich.Autoryzowanie danych logowania w aplikacji na komputer
Aby utworzyć identyfikator klienta OAuth 2.0, wykonaj te czynności:
- W konsoli interfejsów API Google otwórz Menu > Platforma uwierzytelniania Google > Klienci.
- Kliknij Utwórz klienta.
- Kliknij Typ aplikacji > Aplikacja na komputer.
- W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w Konsoli interfejsów API Google.
- Kliknij Utwórz.
Nowo utworzone dane logowania pojawią się w sekcji „Identyfikatory klientów OAuth 2.0”.
Aby aplikacje uzyskały autoryzację dostępu do plików, do których wcześniej miały dostęp, wykonaj te czynności:
Musisz uzyskać token OAuth 2.0 z zakresem
drive.file,drivelubdrive.readonly, korzystając z tych instrukcji: Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google. Więcej informacji o zakresach znajdziesz w artykule Wybieranie zakresów interfejsu Google Drive API.Przekaż token OAuth 2.0 do interfejsu Drive API, aby odczytywać i modyfikować pliki, do których użytkownik wcześniej przyznał dostęp.
Autoryzowanie danych logowania w aplikacji mobilnej
Aby utworzyć identyfikator klienta OAuth 2.0, wykonaj czynności opisane w sekcji Autoryzowanie danych logowania w aplikacji mobilnej.
Autoryzowanie danych logowania w aplikacji internetowej
Aby utworzyć identyfikator klienta OAuth 2.0, wykonaj czynności opisane w sekcji Autoryzowanie danych logowania w aplikacji internetowej.
Wyświetlanie selektora Google
Interfejs Google Picker API w przypadku aplikacji komputerowych i mobilnych przekierowuje do selektora Google w nowej karcie w domyślnej przeglądarce użytkownika. Gdy użytkownik przyzna dostęp i wybierze odpowiednie pliki, selektor Google Picker wróci do aplikacji wywołującej za pomocą adresu URL wywołania zwrotnego.
-
Uwierzytelnij aplikację, wywołując selektor Google.
-
Zaloguj się przez Google i przyznaj wymagane uprawnienia.
-
Przeglądaj pliki na Dysku Google w selektorze Google i wybierz odpowiedni element.
-
Potwierdź wybór i kliknij Wstaw, aby dodać plik do aplikacji.
Integracja selektora Google z aplikacją
Aby umożliwić użytkownikom przyznawanie dostępu do dodatkowych plików lub wybieranie plików do użycia w przepływie aplikacji, wykonaj te czynności:
Poproś o dostęp do zakresu
drive.file, aby otworzyć stronę dostępu OAuth 2.0 w nowej karcie przeglądarki, korzystając z tych instrukcji: Używanie OAuth 2.0 na potrzeby dostępu do interfejsów API Google. Więcej informacji o zakresach znajdziesz w artykule Wybieranie zakresów interfejsu Google Drive API.Pamiętaj, że w przypadku tych aplikacji dozwolony jest tylko zakres
drive.file, którego nie można łączyć z żadnym innym zakresem.Adres URL nowej karty przeglądarki akceptuje wszystkie standardowe parametry ciągu zapytania OAuth.
Do żądania adresu URL autoryzacji OAuth 2.0 musisz dołączyć parametry adresu URL
promptitrigger_onepick. Opcjonalnie możesz też dostosować selektor Google za pomocą kilku innych parametrów:Parametr Opis Stan prompt=consentProśba o dostęp do pliku. Wymagane trigger_onepick=trueWłącz selektor Google. Wymagane allow_multiple=trueJeśli wartość to prawda, użytkownik może wybrać wiele plików. Opcjonalny mimetypes=MIMETYPESRozdzielona przecinkami lista typów MIME, według których mają być filtrowane wyniki wyszukiwania. Jeśli nie jest ustawiona, w widoku wyświetlane są pliki wszystkich typów MIME. Opcjonalny file_ids=FILE_IDSLista identyfikatorów plików rozdzielonych przecinkami, według których mają być filtrowane wyniki wyszukiwania. Jeśli nie skonfigurujesz tego ustawienia, w widoku będą wyświetlane wszystkie pliki. Opcjonalny allow_folder_selection=trueJeśli ma wartość prawda, użytkownik może też wybierać foldery. Opcjonalny Ten przykład pokazuje żądanie adresu URL autoryzacji OAuth 2.0:
https://accounts.google.com/o/oauth2/v2/auth? \ client_id=CLIENT_ID \ &scope=https://www.googleapis.com/auth/drive.file \ &redirect_uri=REDIRECT_URI \ &response_type=code \ &access_type=offline \ &prompt=consent \ &trigger_onepick=trueZastąp następujące elementy:
CLIENT_ID: identyfikator klienta aplikacji.REDIRECT_URI: miejsce, do którego serwer autoryzacji przekierowuje przeglądarkę użytkownika po pomyślnym uwierzytelnieniu. Na przykład:https://www.cymbalgroup.com/oauth2callback.Określony
redirect_urimusi być publicznym adresem URL HTTPS. Jeśli chcesz użyć niestandardowego protokołu lub adresu URL hosta lokalnego w przypadkuredirect_uri, musisz użyć publicznego adresu URL HTTPS, który następnie przekierowuje do niestandardowego protokołu lub adresu URL hosta lokalnego.
Gdy użytkownik przyzna dostęp i wybierze odpowiednie pliki, OAuth przekieruje go do adresu
redirect_uriokreślonego w żądaniu, do którego zostaną dołączone te parametry URL:picked_file_ids: jeśli użytkownik przyznał dostęp i wybrał pliki, zwracana jest rozdzielona przecinkami lista identyfikatorów wybranych plików.code: token dostępu lub kod dostępu na podstawie parametruresponse_typeustawionego w żądaniu. Ten parametr zawiera nowy kod autoryzacji.scope: zakresy uwzględnione w żądaniu.error: jeśli użytkownik anuluje prośbę w trakcie procesu uzyskiwania zgody, wyświetli się błąd.
Poniższy przykład pokazuje odpowiedź z adresem URL autoryzacji OAuth 2.0:
https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPESAplikacje muszą wymienić kod autoryzacji z kroku 3 na nowy token OAuth 2.0. Więcej informacji znajdziesz w artykule Wymiana kodu autoryzacji na tokeny odświeżania i dostępu.
Aplikacje mogą następnie używać identyfikatorów plików z parametru adresu URL w kroku 3 i tokena OAuth 2.0 uzyskanego w kroku 4 do wywoływania interfejsu Drive API. Więcej informacji znajdziesz w artykule Omówienie interfejsu Google Drive API.
Korzystanie z selektora Google w aplikacjach na Androida
Możesz też używać selektora Google w aplikacjach mobilnych na Androida.
Autoryzowanie danych logowania w aplikacji mobilnej
Aby używać selektora Google w aplikacji na Androida, musisz autoryzować użytkowników za pomocą OAuth 2.0, podobnie jak w przypadku aplikacji na komputery. Więcej informacji o uwierzytelnianiu na Androidzie znajdziesz w artykule Autoryzowanie dostępu do danych użytkownika Google.
Aby wyświetlić selektor Google podczas autoryzacji, utwórz obiekt
AuthorizationRequest
i użyj parametru zasobu PICKER_OAUTH_TRIGGER w obiekcie
AuthorizationRequest.ResourceParameter.
Podczas tworzenia AuthorizationRequest:
Użyj zakresu
drive.file.Wywołaj
setOptOutIncludingGrantedScopestotrue, aby upewnić się, że zwrócony token dotyczy tylko zakresudrive.filei nie obejmuje żadnych wcześniej przyznanych zakresów.Ustaw pole
AuthorizationRequest.PromptnaCONSENT, aby poprosić użytkownika o zgodę, nawet jeśli została ona wcześniej udzielona.Opcjonalnie możesz użyć operatora bitowego „OR” (
|), aby ustawić poleAuthorizationRequest.PromptnaSELECT_ACCOUNTi umożliwić użytkownikowi wybranie konta przed wyświetleniem prośby o zgodę.
Wywołanie selektora Google
Podobnie jak w przypadku aplikacji na komputery, możesz dostosować selektor Google za pomocą kilku opcjonalnych parametrów:
PICKER_ALLOW_MULTIPLE: umożliwia użytkownikom wybieranie wielu plików.PICKER_MIMETYPES: akceptuje rozdzieloną przecinkami listę typów MIME, aby filtrować wyniki wyszukiwania. Jeśli nie jest ustawiony, w widoku wyświetlane są pliki wszystkich typów MIME.PICKER_FILE_IDS: akceptuje listę identyfikatorów plików rozdzieloną przecinkami, aby filtrować wyniki wyszukiwania. Jeśli nie skonfigurujesz tego ustawienia, w widoku będą wyświetlane wszystkie pliki.PICKER_ALLOW_FOLDER_SELECTION: umożliwia użytkownikom wybieranie folderów.
Więcej informacji o parametrach opcjonalnych w aplikacjach na komputery znajdziesz w artykule Wyświetlanie selektora Google.
Gdy użytkownik przyzna dostęp i wybierze odpowiednie pliki, zostanie zwrócony obiekt zasobu getTokenResponseParams AuthorizationResult. Jeśli użytkownik przyznał dostęp, ten obiekt zawiera wartość picked_file_ids, która jest listą wybranych identyfikatorów plików rozdzielonych przecinkami.