Integrowanie selektora Google z aplikacjami na komputery i urządzenia mobilne

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.

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:

  1. W konsoli interfejsów API Google otwórz Menu  > Platforma uwierzytelniania Google > Klienci.

    Otwórz stronę Klienci

  2. Kliknij Utwórz klienta.
  3. Kliknij Typ aplikacji > Aplikacja na komputer.
  4. W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest widoczna tylko w Konsoli interfejsów API Google.
  5. 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:

  1. Musisz uzyskać token OAuth 2.0 z zakresem drive.file, drive lub drive.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.

  2. 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.

  • Ekran uwierzytelniania interfejsu selektora Google

    Uwierzytelnij aplikację, wywołując selektor Google.

  • Okno logowania przez Google i okno z prośbą o uprawnienia

    Zaloguj się przez Google i przyznaj wymagane uprawnienia.

  • Interfejs wyboru plików z Dysku Google w selektorze

    Przeglądaj pliki na Dysku Google w selektorze Google i wybierz odpowiedni element.

  • Ekran potwierdzenia wstawienia pliku z przyciskiem Wstaw

    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:

  1. 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.

  2. 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 prompttrigger_onepick. Opcjonalnie możesz też dostosować selektor Google za pomocą kilku innych parametrów:

    Parametr Opis Stan
    prompt=consent Prośba o dostęp do pliku. Wymagane
    trigger_onepick=true Włącz selektor Google. Wymagane
    allow_multiple=true Jeśli wartość to prawda, użytkownik może wybrać wiele plików. Opcjonalny
    mimetypes=MIMETYPES Rozdzielona 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_IDS Lista 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=true Jeś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=true
    

    Zastą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_uri musi być publicznym adresem URL HTTPS. Jeśli chcesz użyć niestandardowego protokołu lub adresu URL hosta lokalnego w przypadku redirect_uri, musisz użyć publicznego adresu URL HTTPS, który następnie przekierowuje do niestandardowego protokołu lub adresu URL hosta lokalnego.

  3. Gdy użytkownik przyzna dostęp i wybierze odpowiednie pliki, OAuth przekieruje go do adresu redirect_uri okreś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 parametru response_type ustawionego 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=SCOPES
    
  4. Aplikacje 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.

  5. 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 setOptOutIncludingGrantedScopes to true, aby upewnić się, że zwrócony token dotyczy tylko zakresu drive.file i nie obejmuje żadnych wcześniej przyznanych zakresów.

  • Ustaw pole AuthorizationRequest.Prompt na CONSENT, 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ć pole AuthorizationRequest.Prompt na SELECT_ACCOUNT i 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.