FlySystem adapter for Google Drive (work with path)
private-it/flysystem-google-drive is a Laravel package for flysystem adapter for google drive (work with path).
It currently has 19 GitHub stars and 7.863 downloads on Packagist (latest version 1.4.0).
Install it with composer require private-it/flysystem-google-drive.
Discover more Laravel packages by private-it
or browse all Laravel packages to compare alternatives.
Last updated
FlySystem adapter for Google Drive (work with path)
This project is wrapper of nao-pon/flysystem-google-drive
Read more information this
composer require private-it/flysystem-google-drive:dev-master
Config params:
[
'clientId' => 'xxxxxxxxxxx.apps.googleusercontent.com',
'clientSecret' => 'xxxxxxxxxxx',
'refreshToken' => 'xxxxxxxxxxx',
'folderId' => 'xxxxxxxxxxx',
'sheetId' => 'xxxxxxxxxxx',
];
folderId - uses as root folder for upload/read.
sheetId - file id of "Google Sheets" document. Uses for save path-fileId. This document must be shared for public read.
See examples/test.php
git clone https://github.com/private-it/flysystem-google-drive.git
composer install
Copy examples/config.example.php to examples/config.php
php examples/test.php
Configuration google drive config/filesystems.php
'disks' => [
...
'googleDrive' => [
'driver' => 'googleDrive',
'clientId' => env('GOOGLE_DRIVE_CLIENT_ID'),
'clientSecret' => env('GOOGLE_DRIVE_CLIENT_SECRET'),
'refreshToken' => env('GOOGLE_DRIVE_REFRESH_TOKEN'),
'folderId' => env('GOOGLE_DRIVE_FOLDER_ID'),
'sheetId' => env('GOOGLE_DRIVE_PATH_MANAGER_SHEET_ID'),
],
...
],
[Laravel v4] Add ServiceProvider to config/app.php
'providers' => [
...
PrivateIT\FlySystem\GoogleDrive\GoogleDriveServiceProvider::class
...
]
For custom PathManager you can set binding in file bootstrap/app.php
$app->bind(\PrivateIT\FlySystem\GoogleDrive\PathManager::class, \PrivateIT\FlySystem\GoogleDrive\GoogleSheetsPathManager::class);
Usage:
$disk = \Storage::disk('googleDrive');
$adapter = $disk->getDriver()->getAdapter();
$dir = 'test/sub1/sub2';
$fileName = 'test/sub1/sub2/new-file-1.txt';
var_dump($disk->makeDirectory($dir));
var_dump($disk->put($fileName, 'test content'));
var_dump($adapter->getUrl($fileName));
var_dump($disk->deleteDir($dir));