Saat pengguna memilih file dan mengklik item menu "Buka dengan" UI Drive, Drive akan mengalihkan pengguna ke URL Buka aplikasi tersebut yang ditentukan di 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 akan memeriksa jenis MIME terhadap jenis MIME default dan sekunder yang Anda tentukan:
Untuk jenis MIME yang ditentukan di kolom "Jenis MIME default", ID file akan diteruskan ke aplikasi Anda. Untuk 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 akan menampilkan dialog yang meminta pengguna untuk memilih jenis file yang akan dikonversi menjadi file Google Workspace. Misalnya, jika Anda memilih file Google Dokumen di UI Drive dan kolom "Jenis MIME Sekunder" menyarankan bahwa aplikasi Anda mendukung text/plain atau application/pdf, UI Drive akan menanyakan kepada pengguna apakah mereka ingin mengonversi ke Teks Biasa atau PDF.
Untuk 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 dapat membuka file. Aplikasi Anda menerima kumpulan variabel template default
dalam parameter state
. Informasi
state
default untuk URL Buka 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 URL Terbuka.- USER_ID: ID profil yang mengidentifikasi pengguna secara unik.
Aplikasi Anda harus menindaklanjuti permintaan ini dengan mengikuti langkah-langkah berikut:
- Verifikasi bahwa 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 informasi selengkapnya tentang kunci resource, lihat Mengakses file yang dibagikan link menggunakan kunci resource.
Parameter state
dienkode URL, sehingga aplikasi Anda harus menangani karakter
escape dan mengurainya sebagai JSON.
Menangani URL Terbuka untuk dokumen Google Workspace
Seperti yang disebutkan dalam Mengonfigurasi integrasi UI Drive, aplikasi Anda menerima kumpulan variabel template default dalam parameter state
. Informasi state
default
untuk URL Terbuka 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 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 URL Terbuka.- 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
.Konversikan 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 informasi selengkapnya tentang kunci resource, lihat Mengakses file yang dibagikan 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 mengurainya 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 pemilih file untuk memilih konten dari dalam aplikasi. Untuk informasi selengkapnya, lihat Pemilih Google.