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.
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.
Aby interfejs Google Picker API otwierał się na stronie klienta, użyj interfejsu Google Picker API dla aplikacji internetowych. Więcej informacji znajdziesz w artykule Integrowanie selektora Google z aplikacjami internetowymi.
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 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.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.Podany
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 na niestandardowy protokół lub adres URL hosta lokalnego.
Gdy użytkownik przyzna dostęp i wybierze odpowiednie pliki, OAuth przekieruje go do adresu
redirect_uriokreślonego w żądaniu z dołączonymi tymi parametrami URL:picked_file_ids: jeśli użytkownik przyznał dostęp i wybrał pliki, 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, pojawi 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
getTokenResponseParams
zasobu
AuthorizationResult. Jeśli użytkownik przyzna dostęp, ten obiekt będzie zawierać wartość
picked_file_ids, która jest listą identyfikatorów wybranych plików rozdzielonych przecinkami.