everzel / google-drive-laravel
Google Drive 的包
Requires
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.6
- phpstan/phpstan: ^1.4
README
安装和用法
安装
-
composer require everzel/google-drive -
添加到 .env 文件
GOOGLE_DRIVE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=
GOOGLE_DRIVE_REFRESH_TOKEN=
GOOGLE_DRIVE_FOLDER_ID=
- 在
config/filesystems.php的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'),
],
如何获取凭证: 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')