thotam / flysystem-onedrive
使用 Microsoft Graph API 的 OneDrive flysystem 驱动程序
dev-master
2023-07-03 03:34 UTC
Requires
- php: ^8.0|^8.1
- illuminate/support: ^9.0|^10.0
- league/flysystem: ^3.8
- microsoft/microsoft-graph: ^1.101
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.3|^10.0
This package is auto-updated.
Last update: 2024-10-03 06:08:43 UTC
README
Microsoft OneDrive 的 Flysystem 适配器
此包包含一个 Flysystem OneDrive 适配器,它使用 Microsoft Graph API。适配器已准备好用于最新的 Laravel 9.x 版本。
您可以使用此包从您的 PHP 或 Laravel Web 应用程序中访问存储在 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
中,请将以下代码片段添加到磁盘部分
'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, // ... ],
有两种使用此包的既定方法
- 按需:如果您使用动态 graph 访问令牌,则推荐使用(例如 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:如果您使用静态 graph 访问令牌,则推荐使用
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)。请参阅许可证文件以获取更多信息。