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

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.

    Włącz 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:

  1. W konsoli Google Cloud otwórz Menu > Platforma Google Auth > Klienci.

    Otwórz stronę Klienci

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

  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, zobacz Wybieranie zakresów interfejsu API Dysku Google scopes.

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

  • Ekran uwierzytelniania interfejsu selektora Google

    Uwierzytelnij aplikację, uruchamiając selektor Google.

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

    Zaloguj się w 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.

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:

  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 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.file i nie można go łączyć z żadnym innym zakresem.

  2. 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 prompt i trigger_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 ma wartość true, użytkownik może wybrać kilka plików. Opcjonalny
    mimetypes=MIMETYPES Rozdzielona 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_IDS Rozdzielona 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=true Jeś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=true
    

    Zastą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ład https://www.cymbalgroup.com/oauth2callback.

      Określony redirect_uri musi być publicznym adresem URL HTTPS. Jeśli chcesz użyć protokołu niestandardowego lub adresu URL localhost jako redirect_uri, musisz użyć publicznego adresu URL HTTPS, który przekierowuje do protokołu niestandardowego lub adresu URL localhost.

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

  5. 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 setOptOutIncludingGrantedScopes aby mieć pewność, że zwrócony token dotyczy tylko zakresu drive.file a nie żadnych wcześniej przyznanych zakresów.true

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