Install package Google Drive API V3
composer require nao-pon/flysystem-google-drive:~1.1
Thêm provider GoogleDriveServiceProvider vào file config/app.php
'providers' => [
// ...
App\Providers\GoogleDriveServiceProvider::class,
// ...
],
Nội dung provider tham khảo ở dưới
https://github.com/ivanvermeyen/laravel-google-drive-demo/blob/master/app/Providers/GoogleDriveServiceProvider.php
Update tiếp config/filesystems.php
'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'),
],
// ...
],
Update .env cho các values trêntrên
FILESYSTEM_CLOUD=google
GOOGLE_DRIVE_CLIENT_ID=
GOOGLE_DRIVE_CLIENT_SECRET=
GOOGLE_CALLBACK_URL=
GOOGLE_APP_ID=
GOOGLE_DRIVE_REFRESH_TOKEN=
GOOGLE_DRIVE_FOLDER_ID=null
Đến đây tạm hiểu vấn đề như sau
Ta tạo thêm 1 extend cho Filesystem. Như vậy sau này có thể dùng Storage::disk(‘google’), hoặc dùng Storage::cloud – Vì FILESYSTEM_CLOUD đã set google rồi.
Vấn đề tiếp theo là lấy refresh token
https://github.com/ivanvermeyen/laravel-google-drive-demo/blob/master/README/2-getting-your-refresh-token.md
Bổ sung
Lấy Google Client ID & Secret https://github.com/ivanvermeyen/laravel-google-drive-demo/blob/master/README/1-getting-your-dlient-id-and-secret.md
Để dùng cách trên lấy refresh token thì set callback URL là https://developers.google.com/oauthplayground
Leave a Reply