Download the PHP package gwsn/flysystem-sharepoint-adapter without Composer
On this page you can find all versions of the php package gwsn/flysystem-sharepoint-adapter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gwsn/flysystem-sharepoint-adapter
More information about gwsn/flysystem-sharepoint-adapter
Files in gwsn/flysystem-sharepoint-adapter
Package flysystem-sharepoint-adapter
Short Description [beta] Adapter for flysystem to use sharepoint as filestore
License MIT
Homepage https://github.com/gwsn/packages/flysystem-sharepoint-adapter
Informations about the package flysystem-sharepoint-adapter
Flysystem adapter for the Sharepoint Graph API
This package contains a adapter for Flysystem to use Sharepoint as filestorage.
Installation
You can install the package via composer:
Usage
You need to request a new clientId and clientSecret for a new application on Azure.
- Go to
Azure portal
https://portal.azure.com - Go to
Azure Active Directory
- Go to
App registrations
- Click on
new Registration
and follow the wizard.
(give it a name like mine is 'gwsn-sharepoint-connector' and make a decision on the supported accounts, single tenant should be enough but this depends on your organisation) - When created the application is created write down the following details
- 'Application (client) id', this will be your
$clientId
- 'Directory (tenant) id', this will be your
$tenantId
- Then we go in the menu to the
API permissions
to set the permissions that are required - The click on
Add a permission
and add the following permissions:
Microsoft Graph:- Files.ReadWrite.All
- Sites.ReadWrite.All
- User.Read
- Click on the
Grant admin consent for ...Company...
- Go in the menu to
Certificates & secrets
- Click on
new client secret
- Give it a description and expiry date and the value will be your
$clientSecret
-
The last parameter will be the sharepoint 'slug', this is part of the url of the sharepoint site what you want to use and creation of sharepoint site is out of scope of this readme.
When you sharepoint url is likehttps://{tenant}.sharepoint.com/sites/{site-slug}/Shared%20Documents/Forms/AllItems.aspx
You need to set the$sharepointSite
as{site-slug}
Example:
- Sharepoint site url:
https://GWSN.sharepoint.com/sites/gwsn-documents-store/Shared%20Documents/Forms/AllItems.aspx
- Sharepoint site variable:
$sharepointSite = 'gwsn-documents-store'
- Sharepoint site url:
Testing
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Laravel
To use the flysystem in Laravel there are additional steps required:
First we need to create a FlySystemSharepointProvider
and register this in the config/app.php
Then we need to create the config into the config/filesystem.php
Create the FlySystemSharepointProvider
we need to create a provider to register the custom FlySystem Adapter
create a new file in the app/Providers
directory called FlySystemSharepointProvider.php
with the following content:
Register the provider in the App config
Add the bottom of the list with providers we need to add the previous created Provider:
Update the Filesystem config
Add filesystem Disks section we will add a new custom disk: sharepoint.
We use env variables as config but you could also enter them directly as string
Usage in laravel
it is bad practice to use logic into a controller but for example purpose we show it in the controller:
App\Http\Controllers\Controller.php
License
The MIT License (MIT). Please see License File for more information.
All versions of flysystem-sharepoint-adapter with dependencies
ext-json Version *
gwsn/sharepoint-sdk Version ^1.0
league/flysystem Version ^3.0