bitsnbolts / flysystem-msgraph
一个支持使用 Microsoft Graph 的 Microsoft OneDrive 和 Sharepoint 文档库的 Flysystem 适配器
1.0.3
2021-04-06 13:07 UTC
Requires
- guzzlehttp/guzzle: ^7.0.1
- league/flysystem: ^1.0
- league/oauth2-client: ^2.4
- microsoft/microsoft-graph: ^1.20
Requires (Dev)
- phpunit/phpunit: ^9.3.3
This package is auto-updated.
Last update: 2024-09-06 21:59:42 UTC
README
一个支持使用 Microsoft Graph 的 Microsoft OneDrive 和 Sharepoint 文档库的 Flysystem 适配器
为 Microsoft Graph 设置后台应用程序
此 flysystem 适配器作为后台服务运行。有关如何配置应用程序的详细信息,请参阅 https://docs.microsoft.com/en-us/graph/auth-v2-service。
在设置权限时,您必须添加应用程序权限以指定 File.ReadWrite.All。
一旦您的应用程序完成,您需要管理员在 https://portal.azure.com/ 的 Azure 门户中同意应用程序使用。
与 OneDrive 一起使用
- 目前不支持 OneDrive。开发工作正在继续以支持 OneDrive。
与 Sharepoint 文档库一起使用
适配器构造函数定义
$adapter = new MSGraphAppSharepoint(); // Generate a token. $adapter->authorize($tenantId, $appId, $appPassword); // Setup the site and drive ids. $adapter->initialize($targetId, $driveName); $this->fs = new Filesystem($adapter); $this->fs->write('hello.txt', 'Hello World!');
- $appId : 可在应用程序注册中找到的应用程序 ID
- $appPassword : 在应用程序注册中生成的密码
- $tenantId : 租户的 GUID
- $tokenEndpoint : 您的 Azure/Office365 租户的 OAuth2 访问令牌端点。 (例如: https://login.microsoftonline.com/example.onmicrosoft.com/oauth2/v2.0/token)
- $mode : 'sharepoint' 或 'onedrive' 之一,将指定目标模式。 (注意,目前仅支持 Sharepoint)
- $targetId : 指定文件应存储的目标 ID。
- 对于 Sharepoint,可以使用 sharepoint url(例如:example.sharepoint.com)以及站点的 URL(例如:example.sharepoint.com:/sites/EXAMPLE)
- $driveName : 指定 sharepoint 站点的文档库或驱动器的名称。
运行测试
测试是功能性的,需要有效的 Microsoft Office 365/Azure 环境。一旦您拥有应用程序 ID 和密码,并且应用程序已获得管理员同意,您必须通过环境变量提供凭据,然后运行 phpunit 测试套件。所需的环境变量包括
- APP_ID : 您注册的应用程序 ID
- APP_PASSWORD : 您生成的应用程序密码
- TENANT_ID : 租户的 GUID。
- TEST_SHAREPOINT_SITE_ID : 要使用的 Sharepoint 站点 ID。理想情况下应该是 sharepoint 站点的 FQDN(例如:example.sharepoint.com)
- OAUTH_AUTHORITY (可选) : 要使用的 OAuth2 权威 URL。默认为 https://login.microsoftonline.com/common
- OAUTH_AUTHORIZE_ENDPOINT (可选) : 要使用的 OAuth2 授权端点。默认为 /oauth2/authorize?api-version=1.0
- OAUTH_TOKEN_ENDPOINT (可选) : 要使用的 OAuth2 令牌端点。默认为 /oauth2/token?api-version=1.0
- TEST_FILE_PREFIX (可选) : 要添加到此测试套件的所有文件路径的前缀。默认不添加前缀
测试大文件上传。
要测试大文件上传,请在此处生成大文件 https://fastest.fish/generate-file 并将其保存到 tests/files.50MB.bin。