Kali ini kami mendapat tantangan baru, yaitu diminta untuk membuat sebuah script khusus untuk bisa upload otomatis ke google drive. Kenapa harus atau perlu upload otomatis ke Google Drive? Pasti fungsinya sangat banyak, salah satunya adalah untuk back up file penting agar bisa diakses dan dimanfaatkan dimana saja dan kapan saja.
Nah, yang pertama kali perlu diperoleh adalah akun di Google Developer API, dalam hal ini adalah Google Drive API, langsung saja menuju console di https://console.cloud.google.com/ , buat proyek di sini dan seterusnya sampai mendapatkan Client ID dan Client Secret. Petunjuknya ada di sini https://www.sourcecodester.com/tutorial/php/16112/uploading-file-google-drive-using-google-drive-api-and-php-tutorial .
Berikutnya adalah mencari class php yang memudahkan kita untuk membuat script tanpa mulai dari awal. Class ini dapat diperoleh di Github, ada banyak sekali class php yang bisa di download untuk bisa dipakai. Kami coba mulai dari yang paling simple, linknya sebagai berikut:
- https://github.com/spjoshis/File-Uploader-To-Google-Drive-PHP
- https://github.com/googleapis/google-api-php-client
- https://github.com/LookHin/google-drive-api/tree/master
Dengan class di atas, ternyata bisa dengan mudah kita upload file ke Google Drive. Hanya dengan menambahkan beberapa baris kode php yang merujuk ke path file yang akan di upload, kita langsung bisa upload file tersebut ke Google Drive hanya dengan sekali klik. Ingat ya? Path ke directory file, bukan URL file. Harap dibedakan.
Apakah persoalan selesai? Ternyata tidak! File yang sebelumnya sukses di upload hanyalah file kecil dengan ukuran ratusan kilobytes, paling besar yang kami coba adalah 2 megabytes. Ketika dicoba dengan file ukuran besar, hasilnya malah error, tidak menghasilkan apapun.
Akhirnya kami coba untuk mencari apa sebabnya, bahkan sampai 2 hari, sebab ini baru ketemu. Sebuah perjuangan yang sangat melelahkan. File besar tidak bisa diupload karena memang dengan class – class php di atas, maksimal ukuran filenya adalah 5MB. Pantas saja selalu gagal upload untuk file yang besar.
Kami kembali mencari cara agar bisa upload file besar, dengan susah payah, akhirnya kami temukan cara untuk upload file besar, yaitu dengan upload yang dipecah per 1 MB, jadi upload berapapun ukurannya, sekali uplod tetap 1MB. Kami temukan cara di Github ini https://github.com/googleapis/google-api-php-client/tree/main, terutama di bagian ini https://github.com/googleapis/google-api-php-client/blob/main/examples/large-file-upload.php
Dengan beberapa utak atik sedikit, akhirnya kami sukses mengupload file sebesar 63MB ke Google Drive. Ketika dicoba untuk upload file 150MB, masih lancar meskipun prosesnya lebih lama.
Hasil kerja kami, bisa di download di sini, siapa tahu ada yang butuh untuk referensi, tinggal merubah path dari file yang akan di upload dan mengganti file client_secret.json dengan milik anda, semuanya akan sukses upload ke Google Drive.
Berarti selesai pekerjaan? Belum saudara! Hal ini baru 3 langkah saja, mendapatkan akun Console Google Drive, mendapatkan Class php yang tepat dan menguji upload ke Google Drive. Langkah selanjutnya adalah mengkonversi script ini menjadi sebuah Plugin WordPress.
Ya, benar, merubahnya menjadi sebuah plugin wordpress! Karena permintaan awalnya memang upload ke Google Drive secara otomatis melalui plugin wordpress.
Pemrograman plugin wordpress adalah sesuatu yang unik, kita harus mengikuti “gaya wordpress” agar cocok dan bisa masuk ke wordpress dengan baik dan lancar. Misalnya, penyimpanan variable sementara, yang biasanya lewat Cookie atau SESSION, di wordpress biasanya tidak dianggap atau tidak diproses, sehingga harus mencari cara lain agar bisa menyimpan variable sementara ini.
Tetapi mohon maaf, untuk plugin wordpress ini tidak bisa kami upload, karena sudah menjadi hak milik dari client yang meminta kami untuk mengerjakan tugas ini.