jakub-klapka / laravel-sharepoint-upload-client
用于上传文件到Microsoft Sharepoint网站的简单库
v1.0.2
2020-12-28 10:29 UTC
Requires
- php: >=5.6
- guzzlehttp/guzzle: ^7.0
- laravel/framework: >=5.3
Requires (Dev)
- php: >=7.1
- phpunit/phpunit: ~5.5
This package is auto-updated.
Last update: 2024-09-28 18:16:07 UTC
README
Sharepoint Online库上传文件的简单客户端。集成Laravel Service Provider。
使用 accesscontrol.windows.net OAuth2,因此它与MS ADFS或Azure AAD身份验证兼容。
用法
在app.php中注册ServiceProvider
\JakubKlapka\LaravelSharepointUploadClient\LaravelSharepointUploadProvider::class
使用客户端工厂来创建客户端实例
class Controller { protected $sharepointClient; public function __construct( \JakubKlapka\LaravelSharepointUploadClient\Factories\ClientFactory $sharepointClient ) { $this->sharepointClient = $sharepointClient; } public function upload() { $client = $this->sharepointClient->makeClient( $site_url, $app_id, $app_secret, $redirect_uri ); } }
您需要以下属性,您可以在以下位置注册Sharepoint应用:https://contoso.sharepoint.com/sites/MySite/_layouts/15/appregnew.aspx
将您的用户指向以获取同意
$url = $client->getUserConsentUri()
从基于同意返回的授权代码中获取刷新令牌
$auth_code = $_REQUEST['code']; $refreshToken = $client->getRefreshTokenFromAuthCode( $auth_code );
此客户端不处理令牌持久性,您可以自由地将它保存到文件/数据库/redis或任何适合您应用的地方。
刷新令牌有效期为6个月。
使用刷新令牌上传文件
$upload_result = $client->uploadFile( $refresh_token, '/sites/mySite/myLibrary/', 'file.txt', $this->transfer_storage->readStream( 'file.txt' ) );