Interfejs Google Picker API umożliwia użytkownikom wybieranie lub przesyłanie plików z Dysku Google. Użytkownicy mogą przyznawać aplikacjom na komputery i urządzenia mobilne uprawnienia dostępu do danych na Dysku, co zapewnia bezpieczny i autoryzowany sposób interakcji z plikami.
Selektor Google działa jak okno „Otwórz plik” w przypadku plików przechowywanych na Dysku i ma kilka funkcji:
- Podobny wygląd do interfejsu Dysku Google.
- Kilka widoków przedstawiających podglądy i miniatury plików na Dysku.
- Przekierowanie do selektora Google na nowej karcie w domyślnej przeglądarce użytkownika.
Pamiętaj, że selektor Google nie umożliwia użytkownikom porządkowania, przenoszenia ani kopiowania 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 zacząć korzystać 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 Google Cloud. W jednym projekcie Google Cloud możesz włączyć co najmniej 1 interfejs API.W konsoli Google Cloud włącz interfejs Google Picker API.
Tworzenie klucza interfejsu API
Klucz API to długi ciąg znaków zawierający wielkie i małe litery, cyfry, podkreślenia i łączniki, np. AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe.
Ta metoda uwierzytelniania służy do anonimowego dostępu do publicznie dostępnych danych, takich jak pliki Google Workspace udostępnione przy użyciu ustawienia udostępniania „Każda osoba w internecie, która ma ten link”. Więcej informacji znajdziesz w artykule Zarządzanie kluczami API.
Aby utworzyć klucz interfejsu API:
- W konsoli Google Cloud otwórz Menu > Interfejsy API i usługi > Dane logowania.
- Kliknij Utwórz dane logowania > Klucz interfejsu API.
- Wyświetli się nowy klucz interfejsu API.
- Kliknij Kopiuj , aby skopiować klucz interfejsu API do użycia w kodzie aplikacji. Klucz interfejsu API można też znaleźć w sekcji „Klucze interfejsu API” w danych logowania projektu.
- Aby można było zapobiec nieautoryzowanemu użyciu, zalecamy ograniczenie miejsc i interfejsów API, w których można używać klucza API. Więcej informacji znajdziesz w sekcji Dodawanie ograniczeń interfejsu API.
Autoryzowanie danych logowania w aplikacji na komputer
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.- 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, postępując zgodnie z tymi instrukcjami: 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.
Wyświetlanie selektora Google
Interfejs Google Picker API w aplikacjach na komputery przekierowuje do selektora Google w nowej karcie domyślnej przeglądarki 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 Omówienie aplikacji internetowych.
Aby umożliwić użytkownikom przyznawanie dostępu do dodatkowych plików lub wybieranie plików do użycia w przepływie aplikacji na komputery:
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 aplikacji na komputery 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 URL
promptitrigger_onepick:Parametr Opis Stan prompt=consentProśba o dostęp do pliku. Wymagane trigger_onepick=trueWłącz selektor Google. Wymagane Możesz też dostosować selektor Google za pomocą kilku opcjonalnych parametrów:
Parametr Opis Stan 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 na komputery.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 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 na Androidzie
Możesz też używać selektora Google w aplikacji mobilnej na Androida.
Autoryzowanie danych logowania w aplikacji mobilnej
Aby używać selektora Google w aplikacji na Androida, musisz autoryzować użytkowników za pomocą protokołu 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 PICKER_OAUTH_TRIGGER z AuthorizationRequest.ResourceParameter.
Podczas tworzenia AuthorizationRequest:
- Użyj zakresu
https://www.googleapis.com/auth/drive.file. - Wywołaj
setOptOutIncludingGrantedScopes(true), aby mieć pewność, że zwrócony token dotyczy tylko zakresuhttps://www.googleapis.com/auth/drive.file, a nie żadnych wcześniej przyznanych zakresów. - Ustaw w polu
AuthorizationRequest.PromptwartośćCONSENT, aby wyświetlać prośbę o zgodę użytkownika nawet wtedy, gdy została ona już wcześniej udzielona. To pole ma zastosowanie tylko w przypadku żądań, które zawierają parametry zasobu. - Opcjonalnie możesz użyć operatora bitowego „OR” (
|), aby ustawić poleAuthorizationRequest.PromptnaSELECT_ACCOUNT, co pozwoli użytkownikowi wybrać konto 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: zwraca listę typów MIME rozdzieloną przecinkami, według których mają być filtrowane wyniki wyszukiwania. Jeśli nie jest ustawiony, w widoku wyświetlane są pliki wszystkich typów MIME.PICKER_FILE_IDS: zwraca listę identyfikatorów plików rozdzieloną przecinkami, które mają być użyte do filtrowania wyników wyszukiwania. Jeśli nie skonfigurujesz tego ustawienia, w widoku będą wyświetlane wszystkie pliki.
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.