Google Drive API mendukung beberapa jenis tindakan download dan ekspor, seperti yang tercantum dalam tabel berikut:
| Tindakan download |
|
||||
| Tindakan ekspor |
|
Sebelum mendownload atau mengekspor konten file, pastikan pengguna dapat mendownload
file menggunakan kolom capabilities.canDownload pada files resource.
Untuk mengetahui deskripsi jenis file yang disebutkan di sini, termasuk file blob dan file Google Workspace, lihat Jenis file.
Bagian selanjutnya dari panduan ini memberikan petunjuk mendetail untuk melakukan jenis tindakan download dan ekspor ini.
Mendownload konten file blob
Untuk mendownload file blob yang disimpan di Drive, gunakan metode files.get dengan ID file yang akan didownload dan parameter URL
alt=media. Parameter URL alt=media memberi tahu server bahwa download konten diminta sebagai format respons alternatif.
Parameter URL alt=media adalah parameter
sistem yang tersedia
di semua Google REST API. Jika Anda menggunakan library klien untuk Drive API, Anda tidak perlu menetapkan parameter ini secara eksplisit.
Contoh kode berikut menunjukkan cara menggunakan metode files.get untuk mendownload file dengan library klien Drive API.
Apps Script
/**
* Downloads a file from Drive.
* @param {string} fileId The ID of the file to download.
* @return {Blob} The file content as a Blob.
*/
function downloadFile(fileId) {
var url = 'https://www.googleapis.com/drive/v3/files/' + fileId + '?alt=media';
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
});
return response.getBlob();
}
Java
Python
Node.js
PHP
.NET
Contoh kode ini menggunakan metode library yang menambahkan parameter URL alt=media ke permintaan HTTP yang mendasarinya.
Download file yang dimulai dari aplikasi Anda harus diotorisasi dengan cakupan yang memungkinkan akses baca ke konten file. Misalnya, aplikasi yang menggunakan cakupan drive.readonly.metadata tidak diotorisasi untuk mendownload konten file.
Contoh kode ini menggunakan cakupan file “drive” terbatas yang memungkinkan pengguna melihat dan mengelola semua file Drive Anda. Untuk mempelajari cakupan Drive lebih lanjut, lihat Memilih cakupan Google Drive API
scopes.
Pengguna dengan izin owner (untuk file Drive Saya) atau
organizer (untuk file drive bersama) dapat membatasi download
melalui objek
DownloadRestrictionsMetadata. Untuk mengetahui informasi selengkapnya, lihat Mencegah pengguna mendownload, mencetak, atau
menyalin file Anda.
File yang diidentifikasi sebagai file yang melanggar kebijakan
(seperti software berbahaya) hanya dapat didownload oleh pemilik file.
Selain itu, parameter kueri get acknowledgeAbuse=true harus disertakan untuk menunjukkan bahwa pengguna telah mengetahui risiko mendownload software yang berpotensi tidak diinginkan atau file lain yang melanggar kebijakan. Aplikasi Anda harus memperingatkan pengguna secara interaktif sebelum menggunakan parameter kueri ini.
Download sebagian
Download sebagian melibatkan download hanya sebagian file yang ditentukan. Anda
dapat menentukan bagian file yang ingin didownload dengan menggunakan rentang
byte dengan header
Range. Contoh:
Range: bytes=500-999
Mendownload konten file blob pada versi sebelumnya
Anda hanya dapat mendownload revisi konten file blob yang ditandai sebagai "Simpan Selamanya". Jika ingin mendownload revisi, tetapkan revisi tersebut ke "Simpan Selamanya" terlebih dahulu. Untuk mengetahui informasi selengkapnya, lihat Menentukan revisi yang akan disimpan dari penghapusan otomatis.
Untuk mendownload konten file blob pada versi sebelumnya, gunakan metode
revisions.get dengan ID file
yang akan didownload, ID revisi, dan parameter URL alt=media. Parameter URL alt=media memberi tahu server bahwa download konten diminta sebagai format respons alternatif. Mirip dengan files.get, metode revisions.get juga menerima parameter kueri opsional acknowledgeAbuse dan header Range. Untuk mengetahui informasi selengkapnya, lihat Mengelola
operasi yang berjalan lama.
Protokol permintaan ditampilkan di sini.
GET https://www.googleapis.com/drive/v3/files/{FILE_ID}/revisions/{REVISION_ID}?alt=mediaMendownload konten file blob di browser
Untuk mendownload konten file blob yang disimpan di Drive dalam a
browser, bukan melalui API, gunakan kolom webContentLink dari resource files. Jika pengguna memiliki akses download ke file, link untuk mendownload file dan kontennya akan ditampilkan. Anda dapat mengalihkan pengguna ke URL ini, atau menawarkannya sebagai link yang dapat diklik.
Mendownload konten file blob selama operasi yang berjalan lama
Untuk mendownload konten file blob selama operasi yang berjalan lama, gunakan metode
files.download dengan ID
file yang akan didownload. Anda dapat menetapkan ID revisi secara opsional.
Ini adalah satu-satunya cara untuk mendownload file Google Vids. Jika Anda mencoba mengekspor
file Google Vids, Anda akan menerima
fileNotExportable error.
Untuk mengetahui informasi selengkapnya, lihat Mengelola operasi yang berjalan lama.
Mengekspor konten dokumen Google Workspace
Untuk mengekspor konten byte dokumen Google Workspace, gunakan metode files.export dengan ID file yang akan diekspor dan
jenis MIME yang benar. Konten yang diekspor dibatasi hingga 10 MB.
Contoh kode berikut menunjukkan cara menggunakan metode files.export untuk mengekspor dokumen Google Workspace dalam format PDF menggunakan library klien Drive API:
Apps Script
/**
* Exports a Google Workspace document.
* @param {string} fileId The ID of the file to export.
* @param {string} mimeType The MIME type to export to.
* @return {Blob} The exported content as a Blob.
*/
function exportPdf(fileId, mimeType) {
var url = 'https://www.googleapis.com/drive/v3/files/' + fileId + '/export?mimeType=' + encodeURIComponent(mimeType);
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
});
return response.getBlob();
}
Java
Python
Node.js
PHP
.NET
Contoh kode ini menggunakan cakupan drive terbatas yang memungkinkan pengguna melihat dan mengelola semua file Drive Anda. Untuk mempelajari cakupan Drive lebih lanjut, lihat Memilih cakupan Google Drive API
scopes.
Contoh kode ini juga mendeklarasikan jenis MIME ekspor sebagai application/pdf. Untuk mengetahui daftar lengkap semua jenis MIME ekspor yang didukung untuk setiap dokumen Google Workspace, lihat Jenis MIME ekspor untuk dokumen Google Workspace
dokumen.
Mengekspor konten dokumen Google Workspace di browser
Untuk mengekspor konten dokumen Google Workspace dalam browser, gunakan kolom
exportLinks dari files resource. Bergantung pada jenis dokumen, link untuk mendownload file dan kontennya akan ditampilkan untuk setiap jenis MIME yang tersedia.
Anda dapat mengalihkan pengguna ke URL, atau menawarkannya sebagai link yang dapat diklik.
Mengekspor konten dokumen Google Workspace pada versi sebelumnya di browser
Untuk mengekspor konten dokumen Google Workspace pada versi sebelumnya dalam a
browser, gunakan metode revisions.get dengan
ID file yang akan didownload dan ID revisi untuk membuat link ekspor
yang dapat Anda gunakan untuk melakukan download. Jika pengguna memiliki akses download ke file, link untuk mendownload file dan kontennya akan ditampilkan. Anda dapat mengalihkan pengguna ke URL ini, atau menawarkannya sebagai link yang dapat diklik.
Mengekspor konten dokumen Google Workspace selama operasi yang berjalan lama
Untuk mengekspor konten dokumen Google Workspace selama operasi yang berjalan lama,
gunakan metode files.download dengan ID
file yang akan didownload dan ID revisi. Untuk mengetahui informasi selengkapnya, lihat
Mengelola operasi yang berjalan lama.