jakub-klapka/laravel-sharepoint-upload-client

用于上传文件到Microsoft Sharepoint网站的简单库

v1.0.2 2020-12-28 10:29 UTC

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' )
);

资源