everzel / google-drive-laravel
Package for Google Drive
Requires
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.6
- phpstan/phpstan: ^1.4
README
Installation and usage
Installation
-
composer require everzel/google-drive
-
Append to .env:
GOOGLE_DRIVE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=
GOOGLE_DRIVE_REFRESH_TOKEN=
GOOGLE_DRIVE_FOLDER_ID=
- Append to
config/filesystems.php
indisks
:
'google' => [
'driver' => 'google',
'client_id' => env('GOOGLE_DRIVE_CLIENT_ID'),
'client_secret' => env('GOOGLE_DRIVE_CLIENT_SECRET'),
'refresh_token' => env('GOOGLE_DRIVE_REFRESH_TOKEN'),
'folder_id' => env('GOOGLE_DRIVE_FOLDER_ID'),
],
How to get a credentials: robindirksen.com
Usage
Storage
app(\Everzel\GoogleDrive\GoogleDrive::class)->storage() : lluminate\Contracts\Filesystem\Filesystem
or
\Storage::disk('google');
Put file
app(\Everzel\GoogleDrive\GoogleDrive::class)->putFile(mixed $file, string $filename, string $patch) : bool
Example:
putFile('test text', 'test.txt', 'github/testfile')
Create folders
app(\Everzel\GoogleDrive\GoogleDrive::class)->checkExistsAndCreateFolders(string $patch) : string
Example:
checkExistsAndCreateFolders('github/testfile')
Get folders
app(\Everzel\GoogleDrive\GoogleDrive::class)->getFolders(string $originalFolderName = '/') : Collection
Example:
getFolders('1bFb80xMJUT7yGktC4PV2w1HznWaNwjom') && getFolders('/') - get all folders
Get all files from folder
app(\Everzel\GoogleDrive\GoogleDrive::class)->getAllFromFolder(string $originalFolderName = '/') : Collection
Example:
getAllFromFolder('1bFb80xMJUT7yGktC4PV2w1HznWaNwjom') && getAllFromFolder('/') - get all files
Get file from URL
app(\Everzel\GoogleDrive\GoogleDrive::class)->getFileFromUrl(string $url): mixed
Example:
getFileFromUrl('https://drive.google.com/file/d/xxxxxxx/view?usp=sharing')
Get file from patch
app(\Everzel\GoogleDrive\GoogleDrive::class)->getFileFromPath(string $patch, string $fileName): mixed
Example:
getFileFromPath('github/testfile', 'test.txt')
Get original file name
app(\Everzel\GoogleDrive\GoogleDrive::class)->getOriginalFileName(string $originalPath, string $fileName): string
Example:
getOriginalFileName('1bFb80xMJUT7yGktC4PV2w1HznWaNwjom', 'test.txt')
Delete file from url
app(\Everzel\GoogleDrive\GoogleDrive::class)->deleteFileFromUrl(string $url): bool
Example:
deleteFileFromUrl('https://drive.google.com/file/d/xxxxxxx/view?usp=sharing')
Delete file from patch
app(\Everzel\GoogleDrive\GoogleDrive::class)->deleteFileFromPatch(string $patch, string string $fileName): bool
Example:
deleteFileFromPatch('github/testfile', 'test.txt')
Get file patch from url
app(\Everzel\GoogleDrive\GoogleDrive::class)->getFilePathFromUrl(string $url): string
Example:
getFilePathFromUrl('https://drive.google.com/file/d/xxxxxxx/view?usp=sharing')
Get file info
app(\Everzel\GoogleDrive\GoogleDrive::class)->getFileInfo(string $originalFileName): array
Example:
getFileInfo('1FI0KxxxxxxxeYeoUT6ZCv89ZXWxM')
Exceptions:
Type | Exception |
---|---|
File not found | FileNotFoundException |
Path not found | PatchNotFoundException |
Url invalid format | UrlInvalidFormatException |