Z tego dokumentu dowiesz się, jak zintegrować selektor Google z aplikacjami komputerowymi i mobilnymi 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ą przyznać Twojej aplikacji komputerowej, mobilnej lub internetowej uprawnienia dostępu do swoich danych na Dysku, co zapewnia bezpieczny i autoryzowany sposób interakcji z plikami.
Funkcje
Selektor Google ma kilka funkcji:
- Wygląd i działanie podobne do interfejsu Dysku Google.
- Kilka widoków z podglądami i miniaturami plików na Dysku.
- Wstępnie filtrowane widoki, które pokazują tylko określone typy plików (np. pliki PDF lub obrazy) albo określone foldery.
- Przekierowanie do selektora Google w nowej karcie domyślnej przeglądarki użytkownika. Aby interfejs Google Picker API otwierał się na stronie klienta, użyj interfejsu Google Picker API dla aplikacji internetowych zamiast tego.
Pamiętaj, że selektor Google umożliwia wybieranie i przesyłanie plików, ale nie pozwala użytkownikom na organizowanie, przenoszenie ani kopiowanie plików z jednego folderu do drugiego. Aby zarządzać plikami, musisz użyć interfejsu Google Drive API lub interfejsu Dysku.
Wymagania wstępne
Aplikacje korzystające z selektora Google muszą przestrzegać wszystkich obowiązujących Warunków korzystania z usługi. Najważniejsze jest, aby w żądaniach prawidłowo się identyfikować.
Musisz też mieć projekt 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.
Konfigurowanie uwierzytelniania i autoryzacji
Aby uwierzytelniać użytkowników końcowych 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 aplikacji komputerowej
Aby utworzyć identyfikator klienta OAuth 2.0:
- W konsoli Google Cloud otwórz Menu > Platforma Google Auth > Klienci.
- Kliknij Utwórz klienta.
- Kliknij Typ aplikacji > Aplikacja komputerowa.
- W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w konsoli Google Cloud.
- Kliknij Utwórz.
Nowo utworzone dane logowania pojawią się w sekcji „Identyfikatory klientów OAuth 2.0”.
Aby aplikacje mogły uzyskać autoryzację dostępu do plików, do których wcześniej miały dostęp, musisz wykonać 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, zobacz Wybieranie zakresów interfejsu API Dysku Google scopes.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 aplikacji mobilnej
Aby utworzyć identyfikator klienta OAuth 2.0, wykonaj czynności opisane w sekcji Autoryzowanie danych logowania aplikacji mobilnej.
Autoryzowanie danych logowania aplikacji internetowej
Aby utworzyć identyfikator klienta OAuth 2.0, wykonaj czynności opisane w sekcji Autoryzowanie danych logowania aplikacji internetowej.
Wyświetlanie selektora Google
Interfejs Google Picker API dla aplikacji komputerowych i mobilnych 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 wróci do aplikacji wywołującej za pomocą adresu URL wywołania zwrotnego.
-
Uwierzytelnij aplikację, uruchamiając selektor Google.
-
Zaloguj się w 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.
Integrowanie 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:
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, zobacz Wybieranie zakresów interfejsu API Dysku Google scopes.Pamiętaj, że w przypadku tych aplikacji dozwolony jest tylko zakres
drive.filei nie można go łączyć z żadnym innym zakresem.Adres URL nowej karty przeglądarki akceptuje wszystkie standardowe parametry ciągu zapytania OAuth.
Do adresu URL autoryzacji OAuth 2.0 musisz dołączyć parametry 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 ma wartość true, użytkownik może wybrać kilka plików. Opcjonalny mimetypes=MIMETYPESRozdzielona przecinkami lista typów MIME, według których mają być filtrowane wyniki wyszukiwania. Jeśli nie jest ustawiony, w widoku wyświetlane są pliki wszystkich typów MIME. Opcjonalny file_ids=FILE_IDSRozdzielona przecinkami lista identyfikatorów plików, według których mają być filtrowane wyniki wyszukiwania. Jeśli nie jest ustawiony, w widoku wyświetlane są wszystkie pliki. Opcjonalny allow_folder_selection=trueJeśli ma wartość true, użytkownik może też wybrać 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 Twojej aplikacji.REDIRECT_URI: miejsce, do którego serwer autoryzacji przekierowuje przeglądarkę użytkownika po pomyślnym uwierzytelnieniu. Na przykładhttps://www.cymbalgroup.com/oauth2callback.Określony
redirect_urimusi być publicznym adresem URL HTTPS. Jeśli chcesz użyć protokołu niestandardowego lub adresu URL localhost jakoredirect_uri, musisz użyć publicznego adresu URL HTTPS, który przekierowuje do protokołu niestandardowego lub adresu URL localhost.
Gdy użytkownik przyzna dostęp i wybierze odpowiednie pliki, OAuth przekieruje do
redirect_uriokreślonego w żądaniu, dołączając te parametry URL:picked_file_ids: jeśli użytkownik przyznał dostęp i wybrał pliki, rozdzielona przecinkami lista wybranych identyfikatorów 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 anulował żądanie w przepływie zgody, wyświetli się błąd.
Ten przykład pokazuje odpowiedź adresu 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 tokeny.
Aplikacje mogą następnie użyć identyfikatorów plików z parametru URL w kroku 3 i tokena OAuth 2.0 uzyskanego w kroku 4, aby wywołać interfejs Drive API. Więcej informacji znajdziesz w artykule Omówienie interfejsu Google Drive API overview.
Używanie selektora Google z aplikacjami na Androida
Możesz też używać selektora Google w aplikacjach mobilnych na Androida.
Autoryzowanie danych logowania 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 komputerowych. Szczegółowe informacje o uwierzytelnianiu na Androidzie, zobacz Autoryzowanie dostępu do danych użytkowników Google.
Aby wyświetlić selektor Google podczas autoryzacji, utwórz
AuthorizationRequest
i użyj parametru zasobu PICKER_OAUTH_TRIGGER w obiekcie
AuthorizationRequest.ResourceParameter.
Podczas tworzenia AuthorizationRequest:
Użyj zakresu
drive.file.Wywołaj
setOptOutIncludingGrantedScopesaby mieć pewność, że zwrócony token dotyczy tylko zakresudrive.filea nie żadnych wcześniej przyznanych zakresów.trueUstaw pole
AuthorizationRequest.PromptnaCONSENT, aby wyświetlić prośbę o zgodę, nawet jeśli została ona wcześniej przyznana.Opcjonalnie możesz też użyć operatora bitowego „OR” (
|), aby ustawić poleAuthorizationRequest.PromptnaSELECT_ACCOUNT, co pozwoli użytkownikowi wybrać konto przed wyświetleniem prośby o zgodę.
Wywoływanie selektora Google
Podobnie jak w przypadku aplikacji komputerowych 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, 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: akceptuje rozdzieloną przecinkami listę identyfikatorów plików, według których mają być filtrowane wyniki wyszukiwania. Jeśli nie jest ustawiony, w widoku wyświetlane są wszystkie pliki.PICKER_ALLOW_FOLDER_SELECTION: umożliwia użytkownikom wybieranie folderów.
Więcej informacji o opcjonalnych parametrach w aplikacjach komputerowych znajdziesz w artykule Wyświetlanie selektora Google.
Gdy użytkownik przyzna dostęp i wybierze odpowiednie pliki, zostanie zwrócony
getTokenResponseParams
obiekt zasobu
AuthorizationResult. Jeśli użytkownik przyznał dostęp, ten obiekt zawiera wartość picked_file_ids, która jest rozdzieloną przecinkami listą wybranych identyfikatorów plików.