jasonbdaro/laravel-sharepoint-upload-client

用于将文件上传到微软Sharepoint站点的简单库

dev-master 2024-03-26 06:22 UTC

This package is auto-updated.

Last update: 2024-09-26 07:34:19 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 );

此客户端不处理令牌持久性,您可以将它保存到文件/db/redis或适合您应用程序的任何地方。

刷新令牌有效期为6个月。

使用刷新令牌上传文件

$upload_result = $client->uploadFile(
	$refresh_token,
	'/sites/mySite/myLibrary/',
	'file.txt',
	$this->transfer_storage->readStream( 'file.txt' )
);

资源