Google Picker API adalah cara untuk memungkinkan pengguna memilih atau mengupload file Google Drive. Pengguna dapat memberikan izin kepada aplikasi desktop dan seluler Anda untuk mengakses data Drive mereka, sehingga memberikan cara yang aman dan resmi untuk berinteraksi dengan file mereka.
Google Picker berfungsi sebagai dialog "Buka File" untuk file yang disimpan di Drive dan memiliki beberapa fitur:
- Tampilan dan nuansa yang mirip dengan UI Google Drive.
- Beberapa tampilan yang menampilkan pratinjau dan gambar thumbnail file Drive.
- Pengalihan ke Google Picker dalam tab baru di browser default pengguna.
Perhatikan bahwa Google Picker tidak mengizinkan pengguna 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.
Membuat kunci API
Kunci API adalah string panjang yang berisi huruf besar dan kecil, angka, garis bawah, dan tanda hubung, seperti AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe.
Metode autentikasi ini digunakan untuk mengakses data yang tersedia secara publik secara anonim, seperti file Google Workspace yang dibagikan menggunakan setelan berbagi "Siapa pun di Internet yang memiliki link ini". Untuk mengetahui detail selengkapnya, lihat Mengelola kunci
API.
Untuk membuat kunci API:
- Di konsol Google Cloud, buka Menu > API & Layanan > Kredensial.
- Klik Buat kredensial > Kunci API.
- Kunci API baru Anda akan ditampilkan.
- Klik Salin untuk menyalin kunci API Anda untuk digunakan dalam kode aplikasi Anda. Kunci API juga dapat ditemukan di bagian "Kunci API" kredensial project Anda.
- Untuk mencegah penggunaan yang tidak sah, sebaiknya batasi tempat dan API mana yang dapat menggunakan kunci API dapat digunakan. Untuk mengetahui detail selengkapnya, lihat Menambahkan pembatasan API.
Mengotorisasi kredensial untuk aplikasi desktop
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.- Di Konsol Google API, 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 API.
- 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.Teruskan token OAuth 2.0 ke Drive API untuk membaca dan mengubah file yang sebelumnya diberikan akses oleh pengguna.
Menampilkan Google Picker
Google Picker API untuk aplikasi desktop 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. Agar Google Picker API terbuka di halaman klien, gunakan Google Picker API untuk aplikasi web. Untuk mengetahui informasi selengkapnya, lihat Ringkasan aplikasi web.
Untuk mengizinkan pengguna memberikan akses ke file tambahan atau memilih file untuk digunakan dalam alur aplikasi desktop 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.Perhatikan bahwa hanya cakupan
drive.fileyang diizinkan untuk aplikasi desktop 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:Parameter Deskripsi Status prompt=consentMeminta akses file. Wajib trigger_onepick=trueMengaktifkan Google Picker. Wajib Anda juga dapat menyesuaikan Google Picker dengan beberapa parameter opsional:
Parameter Deskripsi Status 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 desktop 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 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 Android
Anda juga dapat menggunakan Google Picker di aplikasi seluler Android Anda.
Mengotorisasi kredensial untuk aplikasi seluler
Untuk menggunakan Google Picker di aplikasi Android Anda, Anda harus mengotorisasi pengguna menggunakan OAuth 2.0, mirip dengan aplikasi desktop. Untuk mengetahui detail tentang autentikasi Android, lihat Mengotorisasi akses ke data pengguna Google.
Untuk menampilkan Google Picker selama otorisasi, buat
AuthorizationRequest
dan gunakan PICKER_OAUTH_TRIGGER dengan
AuthorizationRequest.ResourceParameter.
Saat membuat AuthorizationRequest:
- Gunakan cakupan
https://www.googleapis.com/auth/drive.file. - Panggil
setOptOutIncludingGrantedScopes(true)untuk memastikan token yang ditampilkan hanya untukhttps://www.googleapis.com/auth/drive.filecakupan dan bukan untuk cakupan yang sebelumnya diberikan. - Tetapkan kolom
AuthorizationRequest.PromptkeCONSENTuntuk meminta izin pengguna meskipun izin tersebut telah diberikan sebelumnya. Kolom ini hanya berlaku untuk permintaan yang menyertakan parameter resource. - Anda dapat secara opsional menggunakan operator bitmap "OR" (
|) untuk juga menetapkanAuthorizationRequest.Promptbidang keSELECT_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: Menampilkan 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: Menampilkan daftar ID file yang dipisahkan koma untuk memfilter hasil penelusuran. Jika tidak ditetapkan, semua file akan ditampilkan dalam tampilan.
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.