everzel/google-drive-laravel

1.0.3 2022-02-23 09:10 UTC

This package is auto-updated.

Last update: 2024-09-23 14:53:56 UTC


README

安装和用法

安装

  1. composer require everzel/google-drive

  2. 添加到 .env 文件

GOOGLE_DRIVE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=
GOOGLE_DRIVE_REFRESH_TOKEN=
GOOGLE_DRIVE_FOLDER_ID=
  1. config/filesystems.phpdisks 中添加
'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'),
],

如何获取凭证: robindirksen.com

用法

存储

app(\Everzel\GoogleDrive\GoogleDrive::class)->storage() : lluminate\Contracts\Filesystem\Filesystem

\Storage::disk('google');

上传文件

app(\Everzel\GoogleDrive\GoogleDrive::class)->putFile(mixed $file, string $filename, string $patch) : bool
示例

putFile('test text', 'test.txt', 'github/testfile')

创建文件夹

app(\Everzel\GoogleDrive\GoogleDrive::class)->checkExistsAndCreateFolders(string $patch) : string
示例

checkExistsAndCreateFolders('github/testfile')

获取文件夹

app(\Everzel\GoogleDrive\GoogleDrive::class)->getFolders(string $originalFolderName = '/') : Collection
示例

getFolders('1bFb80xMJUT7yGktC4PV2w1HznWaNwjom') && getFolders('/') - 获取所有文件夹

从文件夹获取所有文件

app(\Everzel\GoogleDrive\GoogleDrive::class)->getAllFromFolder(string $originalFolderName = '/') : Collection
示例

getAllFromFolder('1bFb80xMJUT7yGktC4PV2w1HznWaNwjom') && getAllFromFolder('/') - 获取所有文件

从 URL 获取文件

app(\Everzel\GoogleDrive\GoogleDrive::class)->getFileFromUrl(string $url): mixed
示例

getFileFromUrl('https://drive.google.com/file/d/xxxxxxx/view?usp=sharing')

从路径获取文件

app(\Everzel\GoogleDrive\GoogleDrive::class)->getFileFromPath(string $patch, string $fileName): mixed
示例

getFileFromPath('github/testfile', 'test.txt')

获取原始文件名

app(\Everzel\GoogleDrive\GoogleDrive::class)->getOriginalFileName(string $originalPath, string $fileName): string
示例

getOriginalFileName('1bFb80xMJUT7yGktC4PV2w1HznWaNwjom', 'test.txt')

从 URL 删除文件

app(\Everzel\GoogleDrive\GoogleDrive::class)->deleteFileFromUrl(string $url): bool
示例

deleteFileFromUrl('https://drive.google.com/file/d/xxxxxxx/view?usp=sharing')

从路径删除文件

app(\Everzel\GoogleDrive\GoogleDrive::class)->deleteFileFromPatch(string $patch, string string $fileName): bool
示例

deleteFileFromPatch('github/testfile', 'test.txt')

从 URL 获取文件路径

app(\Everzel\GoogleDrive\GoogleDrive::class)->getFilePathFromUrl(string $url): string
示例

getFilePathFromUrl('https://drive.google.com/file/d/xxxxxxx/view?usp=sharing')

获取文件信息

app(\Everzel\GoogleDrive\GoogleDrive::class)->getFileInfo(string $originalFileName): array
示例

getFileInfo('1FI0KxxxxxxxeYeoUT6ZCv89ZXWxM')

异常