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
di resource files
.
Untuk deskripsi jenis file yang disebutkan di sini, termasuk file blob dan 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 sedang diminta sebagai format respons alternatif.
Parameter URL alt=media
adalah parameter
sistem yang tersedia
di semua REST API Google. Jika 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.
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 diberi otorisasi untuk mendownload konten file.
Contoh kode ini menggunakan cakupan file “drive” yang dibatasi, yang memungkinkan pengguna untuk
melihat dan mengelola semua file Drive Anda. Untuk mempelajari cakupan Drive lebih lanjut, lihat Memilih cakupan Google Drive API.
Pengguna dengan izin edit dapat membatasi download oleh pengguna hanya baca melalui
penetelan kolom copyRequiresWriterPermission
ke false
.
File yang diidentifikasi sebagai melecehkan
(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 penyalahgunaan lainnya. Aplikasi Anda harus memperingatkan pengguna secara interaktif
sebelum menggunakan parameter kueri ini.
Download sebagian
Download sebagian hanya melibatkan download sebagian file yang ditentukan. Anda
dapat menentukan bagian file yang ingin didownload menggunakan rentang
byte dengan
header Range
. Contoh:
Range: bytes=500-999
Mendownload konten file blob pada versi sebelumnya
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
sedang diminta sebagai format respons alternatif. Serupa dengan files.get
, metode
revisions.get
juga menerima parameter kueri opsional
acknowledgeAbuse
dan header Range
. Untuk informasi selengkapnya tentang mendownload
revisi, lihat Mengelola revisi file.
Protokol permintaan ditampilkan di sini.
GET https://www.googleapis.com/drive/v3/files/{FILE_ID
}/revisions/{REVISION_ID
}?alt=media
Mendownload konten file blob di browser
Untuk mendownload konten file blob yang disimpan di Drive dalam browser, bukan melalui API, gunakan kolom webContentLink
dari resource files
. Jika pengguna memiliki akses download ke file, link untuk mendownload file dan isinya 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. 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:
Java
Python
Node.js
PHP
.NET
Contoh kode ini menggunakan cakupan drive
yang dibatasi yang memungkinkan pengguna melihat dan mengelola semua file Drive Anda. Untuk mempelajari cakupan Drive lebih lanjut, lihat Memilih cakupan Google Drive API.
Contoh kode juga mendeklarasikan jenis MIME ekspor sebagai application/pdf
. Untuk
daftar lengkap semua jenis MIME ekspor yang didukung untuk setiap dokumen
Google Workspace, lihat Jenis MIME ekspor untuk dokumen
Google Workspace.
Mengekspor konten dokumen Google Workspace di browser
Untuk mengekspor konten dokumen Google Workspace dalam browser, gunakan
kolom exportLinks
dari
resource files
. 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 browser, gunakan metode revisions.get
dengan ID file yang akan didownload dan ID revisi untuk membuat link ekspor tempat Anda dapat melakukan download. Jika pengguna memiliki akses download ke file, link untuk mendownload file dan isinya 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 informasi selengkapnya,
lihat Mengelola operasi yang berjalan lama.