justus / flysystem-onedrive
使用 Microsoft Graph API 的 OneDrive flysystem 驱动程序
v2.0.6
2024-06-06 09:04 UTC
Requires
- php: ^8.0.2
- illuminate/support: ^9.0|^10.0|^11.0
- league/flysystem: ^3.2
- microsoft/microsoft-graph: ^1.74
Requires (Dev)
- laravel/framework: ^9.19
- orchestra/testbench: ^v7.1.0
- phpunit/phpunit: ^9.0.0
This package is auto-updated.
Last update: 2024-09-07 06:31:12 UTC
README
Microsoft OneDrive 的 Flysystem 适配器
此包包含一个 Flysystem OneDrive 适配器,该适配器利用了 Microsoft Graph API。适配器已准备好用于最新的 Laravel 9.x 版本。
您可以使用此包从 PHP 或 Laravel 网络应用程序访问存储在 OneDrive 或 SharePoint 文件夹中的文件。
1. 安装
只需使用 composer 安装此包
composer require justus/flysystem-onedrive
2. 使用方法
Laravel 使用方法
- 将以下变量添加到您的
.env
文件中
个人 OneDrive 的示例
ONEDRIVE_ROOT=me ONEDRIVE_ACCESS_TOKEN=fd6s7a98... ONEDRIVE_DIR_TYPE=drives
组共享 OneDrive 的示例
ONEDRIVE_ROOT="{group_id}/drive" ONEDRIVE_ACCESS_TOKEN=fd6s7a98... ONEDRIVE_DIR_TYPE=groups
- 在文件
config/filesystems.php
中,请将以下代码片段添加到 disks 部分
'onedrive' => [ 'driver' => 'onedrive', 'root' => env('ONEDRIVE_ROOT'), 'access_token' => env('ONEDRIVE_ACCESS_TOKEN'), //optional if demanded 'directory_type' => env('ONEDRIVE_DIR_TYPE') ],
- 在
config/app.php
中添加OneDriveAdapterServiceProvider
'providers' => [ // ... Justus\FlysystemOneDrive\Providers\OneDriveAdapterServiceProvider::class, // ... ],
有两种使用此包的既定方法
- 按需:如果您使用动态图形访问令牌,则推荐使用。(例如,session('graph_access_token'))
$disk = Storage::build([ 'driver' => config('filesystems.disks.onedrive.driver'), 'root' => config('filesystems.disks.onedrive.root'), 'directory_type' => config('filesystems.disks.onedrive.directory_type'), 'access_token' => session('graph_access_token') ]); $disk->makeDirectory('test');
- 默认使用 Storage Facade:如果您使用静态图形访问令牌,则推荐使用。
Storage::disk('onedrive')->makeDirectory('test');
PHP 使用方法
在不使用 Laravel 框架的 PHP 中的使用方法
$options = [ ]; $graph = new Graph(); $graph->setAccessToken('fd6s7a98...'); $adapter = new OneDriveAdapter($graph, 'root/path', $options); $filesystem = new Filesystem($adapter); $filesystem->createDirectory('test');
3. 更新日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
4. 测试
composer test
5. 安全
如果您发现任何安全相关的问题,请通过电子邮件发送到 jdonner@doerffler.com,而不是使用问题跟踪器。
6. 许可证
MIT 许可证(MIT)。请参阅许可证文件以获取更多信息。