justus/flysystem-onedrive

使用 Microsoft Graph API 的 OneDrive flysystem 驱动程序

v2.0.6 2024-06-06 09:04 UTC

This package is auto-updated.

Last update: 2024-09-07 06:31:12 UTC


README

![Banner]

Microsoft OneDrive 的 Flysystem 适配器

此包包含一个 Flysystem OneDrive 适配器,该适配器利用了 Microsoft Graph API。适配器已准备好用于最新的 Laravel 9.x 版本。

您可以使用此包从 PHP 或 Laravel 网络应用程序访问存储在 OneDrive 或 SharePoint 文件夹中的文件。

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

1. 安装

只需使用 composer 安装此包

composer require justus/flysystem-onedrive

2. 使用方法

Laravel 使用方法

  1. 将以下变量添加到您的 .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
  1. 在文件 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')
],
  1. 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)。请参阅许可证文件以获取更多信息。