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.Di konsol Google Cloud, aktifkan Google Picker API.
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:
- Di Konsol Google Cloud, buka Menu > Platform Google Auth > Klien.
- Klik Buat Klien.
- Klik Jenis aplikasi > Aplikasi desktop.
- Di kolom Nama, ketik nama untuk kredensial tersebut. Nama ini hanya ditampilkan di Konsol Google Cloud.
- 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:
Anda harus mendapatkan token OAuth 2.0 dengan cakupan
drive.file,drive, ataudrive.readonlymenggunakan petunjuk berikut: Menggunakan OAuth 2.0 untuk Mengakses Google API. Untuk mengetahui informasi selengkapnya tentang cakupan, lihat Memilih cakupan Google Drive API cakupan.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.
-
Autentikasi aplikasi Anda dengan memicu Google Picker.
-
Login dengan Google dan berikan izin yang diminta.
-
Telusuri file Google Drive Anda di Google Picker dan pilih item yang diinginkan.
-
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:
Minta akses ke cakupan
drive.fileuntuk 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.fileyang diizinkan untuk aplikasi ini dan cakupan tersebut tidak dapat digabungkan dengan cakupan lainnya.URL untuk tab browser baru menerima semua parameter string kueri OAuth standar.
Anda harus menambahkan parameter URL
promptdantrigger_onepickke permintaan URL otorisasi OAuth 2.0 Anda. Secara opsional, Anda juga dapat menyesuaikan Google Picker dengan beberapa parameter lainnya:Parameter Deskripsi Status prompt=consentMeminta akses file. Wajib trigger_onepick=trueMengaktifkan Google Picker. Wajib allow_multiple=trueJika benar (true), izinkan pengguna memilih beberapa file. Opsional mimetypes=MIMETYPESDaftar 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_IDSDaftar ID file yang dipisahkan koma untuk memfilter hasil penelusuran. Jika tidak ditetapkan, semua file akan ditampilkan dalam tampilan. Opsional allow_folder_selection=trueJika 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=trueGanti 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_uriyang ditentukan harus berupa URL HTTPS publik. Jika Anda ingin menggunakan protokol kustom atau URL localhost untukredirect_uri, Anda harus menggunakan URL HTTPS publik yang kemudian mengalihkan ke protokol kustom atau URL localhost.
Setelah pengguna memberikan akses dan memilih file yang relevan, OAuth akan mengalihkan ke
redirect_uriyang 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 berdasarkanresponse_typeparameter 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=SCOPESAplikasi 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.
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
setOptOutIncludingGrantedScopesuntuktrueuntuk memastikan token yang ditampilkan hanya untuk cakupandrive.filedan bukan untuk cakupan yang sebelumnya diberikan.Tetapkan
AuthorizationRequest.Promptkolom keCONSENTuntuk meminta izin pengguna meskipun izin tersebut telah diberikan sebelumnya.Secara opsional, Anda dapat menggunakan operator bitmap "OR" (
|) untuk juga menetapkan kolomAuthorizationRequest.PromptkeSELECT_ACCOUNTagar 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.