Saat pengguna memilih file dan mengklik item menu "Buka dengan" UI Drive, Drive akan mengalihkan pengguna ke URL Buka aplikasi tersebut yang ditentukan dalam Mengonfigurasi integrasi UI Drive.
Jika Anda mencentang kotak "Mengimpor" saat mengonfigurasi integrasi UI Drive, pengguna dapat memilih kombinasi file khusus aplikasi dan Google Workspace untuk dibuka. Saat Anda mengonfigurasi integrasi UI Drive, file khusus aplikasi ditentukan di kolom "Jenis MIME default" dan "Ekstensi file default", sedangkan file Google Workspace ditentukan di kolom "Jenis MIME sekunder" dan "Ekstensi file sekunder".
Untuk setiap file yang ingin dibuka pengguna, Drive memeriksa jenis MIME terhadap jenis MIME default dan sekunder yang Anda tentukan:
Untuk jenis MIME yang ditentukan di kolom "Jenis MIME default", ID file diteruskan ke aplikasi Anda. Untuk mengetahui informasi tentang cara menangani file khusus aplikasi, lihat Menangani URL Terbuka untuk dokumen khusus aplikasi.
Untuk jenis MIME yang ditentukan di kolom "Jenis MIME sekunder", UI Drive menampilkan dialog yang menanyakan jenis file yang akan dikonversi dari file Google Workspace kepada pengguna. Misalnya, jika Anda memilih file Google Dokumen di UI Drive dan kolom "Jenis MIME sekunder" menyarankan aplikasi Anda mendukung text/plain atau application/pdf, UI Drive akan menanyakan kepada pengguna apakah mereka ingin mengonversi ke Teks Polos atau PDF.
Untuk mengetahui informasi tentang cara menangani file Google Workspace, lihat Menangani URL Terbuka untuk dokumen Google Workspace. Untuk mengetahui daftar dokumen Google Workspace dan format konversi jenis MIME, lihat Mengekspor jenis MIME untuk dokumen Google Workspace.
Menangani URL Terbuka untuk dokumen khusus aplikasi
Seperti yang disebutkan dalam Mengonfigurasi integrasi UI Drive, aplikasi Anda menerima variabel template dengan informasi agar aplikasi Anda dapat membuka file. Aplikasi Anda menerima kumpulan variabel template default dalam parameter state
. Informasi state
default untuk Buka URL khusus aplikasi adalah:
{
"ids": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
Output ini mencakup nilai-nilai berikut:
- ID: ID folder induk.
- RESOURCE_KEYS: Kamus JSON ID file yang dipetakan ke kunci resource masing-masing.
open
: Tindakan yang sedang dilakukan. Nilainya adalahopen
saat menggunakan Open URL.- USER_ID: ID profil yang mengidentifikasi pengguna secara unik.
Aplikasi Anda harus menindaklanjuti permintaan ini dengan mengikuti langkah-langkah berikut:
- Pastikan kolom
action
memiliki nilaiopen
dan kolomids
ada. - Gunakan nilai
userId
untuk membuat sesi baru bagi pengguna. Untuk informasi selengkapnya tentang pengguna yang login, lihat Pengguna & peristiwa baru. - Gunakan metode
files.get
untuk memeriksa izin, mengambil metadata file, dan mendownload konten file menggunakan nilaiID
. - Jika
resourceKeys
ditetapkan pada permintaan, tetapkan header permintaanX-Goog-Drive-Resource-Keys
. Untuk mengetahui informasi selengkapnya tentang kunci resource, lihat Mengakses file yang dibagikan melalui link menggunakan kunci resource.
Parameter state
dienkode URL, sehingga aplikasi Anda harus menangani karakter escape
dan menguraikannya sebagai JSON.
Menangani URL Terbuka untuk dokumen Google Workspace
Seperti yang disebutkan dalam Mengonfigurasi integrasi UI Drive, aplikasi Anda menerima kumpulan default variabel template dalam parameter state
. Informasi state
default
untuk URL Buka Google Workspace adalah:
{
"exportIds": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
Output ini mencakup nilai-nilai berikut:
- EXPORT_ID: Daftar ID file yang dipisahkan koma yang sedang diekspor (hanya digunakan saat membuka dokumen Google bawaan).
- RESOURCE_KEYS: Kamus JSON ID file yang dipetakan ke kunci resource masing-masing.
open
: Tindakan yang sedang dilakukan. Nilainya adalahopen
saat menggunakan Open URL.- USER_ID: ID profil yang mengidentifikasi pengguna.
Aplikasi Anda harus menindaklanjuti permintaan ini dengan mengikuti langkah-langkah berikut:
Verifikasi bahwa ini adalah permintaan untuk membuka file dengan mendeteksi nilai
open
di kolomstate
dan keberadaan kolomexportIds
.Gunakan metode
files.get
untuk memeriksa izin, mengambil metadata file, dan menentukan jenis MIME menggunakan nilaiEXPORT_ID
.Konversi konten file menggunakan metode
files.export
. Contoh kode berikut menunjukkan cara mengekspor dokumen Google Workspace ke jenis MIME yang diminta.Jika
resourceKey
ditetapkan pada permintaan, tetapkan header permintaanX-Goog-Drive-Resource-Keys
. Untuk mengetahui informasi selengkapnya tentang kunci resource, lihat Mengakses file yang dibagikan melalui link menggunakan kunci resource.Java
Python
Node.js
PHP
Menampilkan file yang dikonversi sebagai hanya baca atau menampilkan dialog yang memungkinkan pengguna menyimpan file sebagai jenis file baru.
Parameter state
dienkode URL, sehingga aplikasi Anda harus menangani karakter escape
dan menguraikannya sebagai JSON.
Pengguna & peristiwa baru
Aplikasi Drive harus memperlakukan semua peristiwa "buka dengan" sebagai potensi login. Beberapa pengguna mungkin memiliki beberapa akun, sehingga ID pengguna dalam parameter state
mungkin tidak cocok dengan sesi saat ini. Jika ID pengguna dalam parameter state
tidak cocok dengan sesi saat ini, akhiri sesi saat ini untuk aplikasi Anda dan login sebagai pengguna yang diminta.
Topik terkait
Selain membuka aplikasi dari UI Google Drive, aplikasi dapat menampilkan alat pilih file untuk memilih konten dari dalam aplikasi. Untuk informasi selengkapnya, lihat Google Picker.