The OneDrive adapter gives the possibility to use the Flysystem filesystem abstraction library with OneDrive. It uses the Guzzle library to communicate with the API.
composer require davicente/flysystem-onedrive
To communicate with the OneDrive API, you will need an authorization token. For the development purposes, visit
https://dev.onedrive.com/auth/msa_oauth.htm, click "Get token" and paste the token into your PHP app.
See the OneDrive API documentation for a detailed information about other ways of authorization.
require 'vendor/autoload.php';
//paste a temporary token from https://dev.onedrive.com/auth/msa_oauth.htm
$token = '123456789';
$oneDriveClient = new \JacekBarecki\FlysystemOneDrive\Client\OneDriveClient($token, new \GuzzleHttp\Client());
$oneDriveAdapter = new \JacekBarecki\FlysystemOneDrive\Adapter\OneDriveAdapter($oneDriveClient);
The OneDrive adapter has currently some limitations. If you want to contribute to the development of the adapter, feel free to submit pull requests that remove these limitations:
-
Saving files is currently supported by the "Simple upload" method of the OneDrive API. This method only supports files up to 100MB in size and is implemented without stream support. To support larger files, a resumable upload method needs to be implemented.
-
When listing items and a collection has more than 200 items, only first 200 items will be returned. To support bigger collections, the client should make multiple API calls, as described in the OneDrive API documentation. This is not implemented yet.
Please note that the OneDrive API is case insensitive. Read the OneDrive API documentation to get to know the details.