OneDrive adapter for the flysystem filesystem abstraction library

1.0.1 2016-02-22 13:11 UTC

This package is not auto-updated.

Last update: 2024-02-17 14:40:31 UTC


Author Software License

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 jacekbarecki/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);

Known limitations

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:

  1. 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.

  2. 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.

See also

Please note that the OneDrive API is case insensitive. Read the OneDrive API documentation to get to know the details.