everzel/google-drive-laravel

Package for Google Drive

1.0.3 2022-02-23 09:10 UTC

This package is auto-updated.

Last update: 2024-04-23 14:00:22 UTC


README

Installation and usage

Installation

  1. composer require everzel/google-drive

  2. Append to .env:

GOOGLE_DRIVE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=
GOOGLE_DRIVE_REFRESH_TOKEN=
GOOGLE_DRIVE_FOLDER_ID=
  1. Append to config/filesystems.php in disks:
'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