ahmadajah03 Sat Feb 2021 1 year ago

Tutorial Backup Store File ke Google Drive di Laravel 8

Contoh Laravel 8 menyimpan cadangan di google drive. Dalam tutorial ini, Anda akan belajar bagaimana mengintegrasikan apis google drive di aplikasi laravel 8 dan menyimpan cadangan di google drive.

Integrasi Google drive mudah di aplikasi Laravel 8. Dan ini karena paket spatie/laravel-backup.

Jika Anda tidak tahu cara google drive mendapatkan id klien dan rahasia konsol pengembang google, maka Anda dapat membuat Google App di Konsol Pengembang Google dengan mengikuti langkah-langkah yang diberikan di bawah ini.

Langkah 1 - Kunjungi Konsol Pengembang Google . Dan buat proyek baru seperti gambar di bawah ini:

Langkah 2 - Kemudian kunjungi "Perpustakaan" konsol pencarian google dan cari "API Google Drive":

Langkah 3 - Kemudian aktifkan  Google Drive API.

Langkah 4 - Kemudian, Kunjungi "Credentials" dan klik pada tab "OAuth Consent Screen". Di sini Anda akan mendapatkan opsi untuk memilih jenis pengguna, pilih  opsi "Eksternal" , dan klik tombol "CREATE" .

 

Langkah 5 - Sekarang isi formulir dengan detail berikut seperti "App Name", "User support email" dan "Email " di  Developer contact information  dan klik  tombol Save dan Continue. Untuk bentuk lain "Scopes", "Test Users" dan "Summary" klik  tombol  Save dan Continue dan pergi ke dashboard. Jangan khawatir tentang fields lain.

Langkah 6 - Pada  layar persetujuan OAuth , Anda akan melihat bahwa status Penerbitan Aplikasi  sedang  diuji . Di sini kita perlu mempublikasikan Aplikasi. Jadi, klik tombol  Publikasikan Aplikasi  dan konfirmasi.

Langkah 7 - Sekarang, Kunjungi kembali ke  Kredensial , klik tombol yang bertuliskan "Buat Kredensial" dan pilih "ID Klien OAuth".

Langkah 8 - Untuk " Jenis aplikasi"  pilih "Aplikasi Web" dan beri  nama .

Masukkan "URI pengalihan resmi" , URL produksi Anda ( https://medikre.com ) - atau buat kunci produksi terpisah nanti

Tambahkan juga  https://developers.google.com/oauthplayground  untuk sementara, karena Anda perlu menggunakannya di langkah berikutnya.

Terakhir, Klik  Create dan catat  Client ID  dan  Client Secret Anda .

Langkah 9 - Sekarang buka  https://developers.google.com/oauthplayground .

 

Di pojok kanan atas, klik   ikon settings , centang "Use your own OAuth credentials" dan tempel  Client ID dan  Client Secret Anda .

Langkah 10 - di sebelah kiri, scroll ke "Drive API v3", perluas, dan periksa setiap cakupannya.

Klik "Authorize APIsI" dan izinkan akses ke akun Anda saat diminta.

 

Langkah 11 - Saat Anda masuk ke langkah 10, centang "Auto-refresh the token before it expires" dan klik "Exchange authorization code for tokens".

Langkah 12 - Sekarang, selesaikan langkah ini dan klik pada  langkah 1 lagi dan Anda akan melihat refresh token  Anda.

Langkah 13 - Sekarang Anda perlu ID folder  yang opsional. Jika Anda menetapkan  ID folder  ke  null, dalam hal ini, itu akan menyimpan file cadangan di jalur root Google Drive.

Anda bisa mendapatkan  ID folder   dari  URL , seperti yang ditunjukkan pada gambar di bawah ini.

Sekarang, Anda sudah mendapatkan Google  Client IDCLIENT SECRETREFRESH TOKEN , dan  FOLDER ID . Harap simpan di file teks apa pun. Karena Anda perlu memperbarui nilai-nilai ini di  .env file aplikasi laravel 8 Anda.

Tutorial Laravel 8 Store Backup Di Google Drive

Langkah 1 - Instal Aplikasi Laravel 8

Pada langkah ini, buka terminal Anda dan arahkan ke direktori server web lokal. Kemudian ketik perintah berikut di terminal untuk mengunduh aplikasi laravel 8:

composer create-project --prefer-dist laravel/laravel Blog

Langkah 2 - Menghubungkan Aplikasi ke Database

Pada langkah ini, navigasikan ke direktori root aplikasi unduhan laravel. Dan buka file .env. Kemudian konfigurasikan detail database seperti berikut:

DB_CONNECTION = mysql 
DB_HOST = 127.0.0.1 
DB_PORT = 3306 
DB_DATABASE = di sini nama database Anda
DB_USERNAME = di sini nama pengguna database
DB_PASSWORD = di sini kata sandi database

Langkah 3 - Instal spatie/laravel-backup

Pada langkah ini, jalankan perintah berikut di terminal untuk menginstal paket spatie/laravel-backup di aplikasi laravel 8:

composer require spatie/laravel-backup

Kemudian jalankan perintah berikut di terminal untuk menerbitkan paket yang diinstal ini:

php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"

Perhatikan bahwa, itu akan menerbitkan file konfigurasi dalam  config/backup.php. Sekarang, konfigurasikan cadangan Anda sesuai dengan kebutuhan Anda.

 

Sekarang, Anda perlu menambahkan  google opsi disk di file  config/backup.php.

'disks' => [
    'google',                
    'local',             
],

Langkah 4 - Siapkan Google Drive sebagai Filesystem di Laravel

Pada langkah ini, Anda perlu menjalankan perintah berikut di terminal untuk memasang adaptor Sistem File untuk drive Google. Jadi, jalankan perintah berikut di terminal Anda:

composer require nao-pon/flysystem-google-drive:~1.1

php artisan make:provider GoogleDriveServiceProvider

Kemudian, di dalam  boot() metode tambahkan driver Google untuk sistem file Laravel:

// app/Providers/GoogleDriveServiceProvider.php
 
public function boot()
{
    \Storage::extend('google', function ($app, $config) {
        $client = new \Google_Client();
        $client->setClientId($config['clientId']);
        $client->setClientSecret($config['clientSecret']);
        $client->refreshToken($config['refreshToken']);
        $service = new \Google_Service_Drive($client);
        $adapter = new \Hypweb\Flysystem\GoogleDrive\GoogleDriveAdapter($service, $config['folderId']);
 
        return new \League\Flysystem\Filesystem($adapter);
    });
}

Setelah ini, daftarkan penyedia layanan dengan menambahkan baris berikut dalam  providers  di config/app.php.

'providers' => [
    // ...
    App\Providers\GoogleDriveServiceProvider::class,
];

Langkah 5 - Konfigurasikan Detail Google Drive

Pada langkah ini, konfigurasikan aplikasi Google drive dengan aplikasi laravel ini. Jadi, buka proyek laravel 8 Anda di editor teks apa pun. Kemudian navigasikan direktori config dan buka file filesystem.php dan tambahkan client id, secret dan callback url:

return [
   
    // ...
     
    'disks' => [
         
        // ...
         
        'google' => [
            'driver' => 'google',
            'clientId' => env('GOOGLE_DRIVE_CLIENT_ID'),
            'clientSecret' => env('GOOGLE_DRIVE_CLIENT_SECRET'),
            'refreshToken' => env('GOOGLE_DRIVE_REFRESH_TOKEN'),
            'folderId' => env('GOOGLE_DRIVE_FOLDER_ID'),
        ],
         
        // ...
         
    ],
     
    // ...
];

Dan juga Anda perlu memperbarui  .env file aplikasi laravel 8. Di file lingkungan ini, Anda perlu menambahkan kredensial Google drive berikut:

GOOGLE_DRIVE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=xxx
GOOGLE_DRIVE_REFRESH_TOKEN=xxx
GOOGLE_DRIVE_FOLDER_ID=null

Langkah 6 - Jalankan Perintah Backup

Pada langkah ini, buka terminal Anda dan jalankan perintah berikut untuk memeriksa apakah file backup dibuat atau tidak:

php artisan backup:run

Kesimpulan

Laravel 8 menyimpan cadangan di tutorial contoh google drive, Anda telah belajar cara menyimpan backup aplikasi laravel 8 di google drive menggunakan spatie

laravel 8 laravel store file ke google drive