Mengintegrasikan Google Picker ke dalam aplikasi desktop dan seluler

Dokumen ini menjelaskan cara mengintegrasikan Google Picker ke dalam aplikasi desktop dan seluler menggunakan Google Picker API.

Google Picker API adalah cara untuk memungkinkan pengguna memilih atau mengupload file Google Drive. Pengguna dapat memberikan izin kepada aplikasi desktop, seluler, atau web Anda untuk mengakses data Drive mereka, sehingga memberikan cara yang aman dan resmi untuk berinteraksi dengan file mereka.

Fitur

Google Picker memiliki beberapa fitur:

  • Tampilan dan nuansa yang mirip dengan UI Google Drive.
  • Beberapa tampilan yang menampilkan pratinjau dan gambar thumbnail file Drive.
  • Tampilan yang telah difilter sebelumnya yang hanya menampilkan jenis file tertentu (seperti PDF atau gambar) atau folder tertentu.
  • Pengalihan ke Google Picker dalam tab baru di browser default pengguna. Agar Google Picker API terbuka di halaman klien, gunakan Google Picker API untuk aplikasi web sebagai gantinya.

Perhatikan bahwa meskipun Anda dapat memilih dan mengupload file dengan Google Picker, pengguna tidak dapat mengatur, memindahkan, atau menyalin file dari satu folder ke folder lain. Untuk mengelola file, Anda harus menggunakan Google Drive API atau UI Drive.

Prasyarat

Aplikasi yang menggunakan Google Picker harus mematuhi semua Persyaratan Layanan yang ada. Yang terpenting, Anda harus mengidentifikasi diri Anda dengan benar dalam permintaan Anda.

Anda juga harus memiliki project Google Cloud.

Menyiapkan lingkungan Anda

Untuk mulai menggunakan Google Picker API, Anda harus menyiapkan lingkungan Anda.

Mengaktifkan API

Sebelum menggunakan Google API, Anda harus mengaktifkannya di project Google Cloud. Anda dapat mengaktifkan satu atau beberapa API dalam satu project Google Cloud.

Menyiapkan autentikasi dan otorisasi

Untuk mengautentikasi pengguna akhir dan mengakses data pengguna di aplikasi Anda, Anda harus membuat satu atau beberapa Client ID OAuth 2.0. Client ID digunakan untuk mengidentifikasi aplikasi tunggal ke server OAuth Google. Jika aplikasi Anda berjalan di beberapa platform, Anda harus membuat client ID terpisah untuk setiap platform.

Memberikan otorisasi kredensial untuk aplikasi desktop

Untuk membuat Client ID OAuth 2.0, ikuti langkah-langkah berikut:

  1. Di Konsol Google Cloud, buka Menu > Platform Google Auth > Klien.

    Buka Klien

  2. Klik Buat Klien.
  3. Klik Jenis aplikasi > Aplikasi desktop.
  4. Di kolom Nama, ketik nama untuk kredensial tersebut. Nama ini hanya ditampilkan di Konsol Google Cloud.
  5. Klik Buat.

    Kredensial yang baru dibuat akan muncul di bagian "Client ID OAuth 2.0".

Agar aplikasi mendapatkan otorisasi ke file yang sebelumnya diberikan kepada aplikasi tersebut, Anda harus menggunakan langkah-langkah berikut:

  1. Anda harus mendapatkan token OAuth 2.0 dengan cakupan drive.file, drive, atau drive.readonly menggunakan petunjuk berikut: Menggunakan OAuth 2.0 untuk Mengakses Google API. Untuk mengetahui informasi selengkapnya tentang cakupan, lihat Memilih cakupan Google Drive API cakupan.

  2. Teruskan token OAuth 2.0 ke Drive API untuk membaca dan mengubah file yang sebelumnya diberikan akses oleh pengguna.

Memberikan otorisasi kredensial untuk aplikasi seluler Anda

Untuk membuat Client ID OAuth 2.0, ikuti langkah-langkah di bagian Memberikan otorisasi kredensial untuk aplikasi seluler.

Memberikan otorisasi kredensial untuk aplikasi web Anda

Untuk membuat Client ID OAuth 2.0, ikuti langkah-langkah di bagian Memberikan otorisasi kredensial untuk aplikasi web.

Menampilkan Google Picker

Google Picker API untuk aplikasi desktop dan seluler akan mengalihkan ke Google Picker dalam tab baru di browser default pengguna. Setelah pengguna memberikan akses dan memilih file yang relevan, Google Picker akan kembali ke aplikasi panggilan melalui URL callback.

  • Layar autentikasi UI Pemilih Google

    Autentikasi aplikasi Anda dengan memicu Google Picker.

  • Kotak dialog izin dan login dengan Google

    Login dengan Google dan berikan izin yang diminta.

  • Antarmuka pemilihan file Google Drive di dalam Pemilih

    Telusuri file Google Drive Anda di Google Picker dan pilih item yang diinginkan.

  • Layar konfirmasi penyisipan file yang menampilkan tombol Sisipkan

    Konfirmasi pilihan Anda dan ketuk Sisipkan untuk menambahkan file ke aplikasi Anda.

Mengintegrasikan Google Picker ke dalam aplikasi Anda

Untuk mengizinkan pengguna memberikan akses ke file tambahan atau memilih file untuk digunakan dalam alur aplikasi Anda, ikuti langkah-langkah berikut:

  1. Minta akses ke cakupan drive.file untuk membuka halaman akses OAuth 2.0 di tab browser baru menggunakan petunjuk berikut: Menggunakan OAuth 2.0 untuk Mengakses Google API. Untuk mengetahui informasi selengkapnya tentang cakupan, lihat Memilih cakupan Google Drive API cakupan.

    Perhatikan bahwa hanya cakupan drive.file yang diizinkan untuk aplikasi ini dan cakupan tersebut tidak dapat digabungkan dengan cakupan lainnya.

  2. URL untuk tab browser baru menerima semua parameter string kueri OAuth standar.

    Anda harus menambahkan parameter URL prompt dan trigger_onepick ke permintaan URL otorisasi OAuth 2.0 Anda. Secara opsional, Anda juga dapat menyesuaikan Google Picker dengan beberapa parameter lainnya:

    Parameter Deskripsi Status
    prompt=consent Meminta akses file. Wajib
    trigger_onepick=true Mengaktifkan Google Picker. Wajib
    allow_multiple=true Jika benar (true), izinkan pengguna memilih beberapa file. Opsional
    mimetypes=MIMETYPES Daftar jenis MIME yang dipisahkan koma untuk memfilter hasil penelusuran. Jika tidak ditetapkan, file untuk semua jenis MIME akan ditampilkan dalam tampilan. Opsional
    file_ids=FILE_IDS Daftar ID file yang dipisahkan koma untuk memfilter hasil penelusuran. Jika tidak ditetapkan, semua file akan ditampilkan dalam tampilan. Opsional
    allow_folder_selection=true Jika benar (true), izinkan pengguna juga memilih folder. Opsional

    Contoh berikut menunjukkan permintaan URL otorisasi 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
    

    Ganti kode berikut:

    • CLIENT_ID: Client ID aplikasi Anda.

    • REDIRECT_URI: Tempat server otorisasi mengalihkan browser pengguna setelah autentikasi berhasil. Misalnya, https://www.cymbalgroup.com/oauth2callback.

      redirect_uri yang ditentukan harus berupa URL HTTPS publik. Jika Anda ingin menggunakan protokol kustom atau URL localhost untuk redirect_uri, Anda harus menggunakan URL HTTPS publik yang kemudian mengalihkan ke protokol kustom atau URL localhost.

  3. Setelah pengguna memberikan akses dan memilih file yang relevan, OAuth akan mengalihkan ke redirect_uri yang ditentukan dalam permintaan dengan parameter URL berikut yang ditambahkan:

    • picked_file_ids: Jika pengguna memberikan akses dan memilih file, daftar ID file yang dipilih yang dipisahkan koma.

    • code: Token akses atau kode akses berdasarkan response_type parameter yang ditetapkan dalam permintaan. Parameter ini mencakup kode otorisasi baru authorization code.

    • scope: Cakupan yang disertakan dalam permintaan.

    • error: Jika pengguna membatalkan permintaan dalam alur izin, error akan ditampilkan.

    Contoh berikut menunjukkan respons URL otorisasi OAuth 2.0:

    https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPES
    
  4. Aplikasi harus menukarkan kode otorisasi dari langkah 3 dengan token OAuth 2.0 baru. Untuk mengetahui informasi selengkapnya, lihat Menukarkan kode otorisasi untuk token refresh dan akses token.

  5. Aplikasi kemudian dapat menggunakan ID file dari parameter URL di langkah 3 dan token OAuth 2.0 yang diperoleh di langkah 4 untuk memanggil Drive API. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Google Drive API.

Menggunakan Google Picker dengan aplikasi Android

Anda juga dapat menggunakan Google Picker di aplikasi seluler Android.

Memberikan otorisasi kredensial untuk aplikasi seluler

Untuk menggunakan Google Picker di aplikasi Android, Anda harus memberikan otorisasi kepada pengguna menggunakan OAuth 2.0, mirip dengan aplikasi desktop. Untuk mengetahui detail tentang autentikasi Android, lihat Memberikan otorisasi akses ke data pengguna Google data.

Untuk menampilkan Google Picker selama otorisasi, buat AuthorizationRequest dan gunakan parameter resource PICKER_OAUTH_TRIGGER pada objek AuthorizationRequest.ResourceParameter.

Saat membuat AuthorizationRequest:

  • Gunakan cakupan drive.file.

  • Panggil setOptOutIncludingGrantedScopes untuk true untuk memastikan token yang ditampilkan hanya untuk cakupan drive.file dan bukan untuk cakupan yang sebelumnya diberikan.

  • Tetapkan AuthorizationRequest.Prompt kolom ke CONSENT untuk meminta izin pengguna meskipun izin tersebut telah diberikan sebelumnya.

  • Secara opsional, Anda dapat menggunakan operator bitmap "OR" (|) untuk juga menetapkan kolom AuthorizationRequest.Prompt ke SELECT_ACCOUNT agar pengguna dapat memilih akun sebelum permintaan izin ditampilkan.

Memanggil Google Picker

Mirip dengan aplikasi desktop, Anda dapat menyesuaikan Google Picker dengan beberapa parameter opsional:

  • PICKER_ALLOW_MULTIPLE: Mengizinkan pengguna memilih beberapa file.
  • PICKER_MIMETYPES: Menerima daftar jenis MIME yang dipisahkan koma untuk memfilter hasil penelusuran. Jika tidak ditetapkan, file untuk semua jenis MIME akan ditampilkan dalam tampilan.
  • PICKER_FILE_IDS: Menerima daftar ID file yang dipisahkan koma untuk memfilter hasil penelusuran. Jika tidak ditetapkan, semua file akan ditampilkan dalam tampilan.
  • PICKER_ALLOW_FOLDER_SELECTION: Mengizinkan pengguna juga memilih folder.

Untuk mengetahui informasi selengkapnya tentang parameter opsional di aplikasi desktop, lihat Menampilkan Google Picker.

Setelah pengguna memberikan akses dan memilih file yang relevan, objek getTokenResponseParams dari resource AuthorizationResult akan ditampilkan. Jika pengguna memberikan akses, objek ini akan berisi nilai picked_file_ids, yang merupakan daftar ID file yang dipilih yang dipisahkan koma.