, (*1)
A minimal implementation of the ShareFile Api
This is a minimal PHP implementation of the ShareFile API. It contains only the methods needed for my flysystem-sharefile adapter. I am open to PRs that add extra methods to the client., (*2)
Here are a few examples on how you can use the package:, (*3)
// Connect to ShareFile
$client = new Client('hostname', 'client_id', 'secret', 'username', 'password');
// Create a folder
$newFolder = $client->createFolder($parentId, $name, $description);
// Upload a file in that folder
$client->uploadFileStandard($filename, $newFolder['Id']);
// Get details for a file using filepath
$picture = $client->getItemByPath('/Personal Folders/Pictures/Picture.jpg');
// Using file details we can ask for the thumbnail url
$client->getThumbnailUrl($picture['Id']);
// Or the direct download link
$client->getItemDownloadUrl($picture['Id']);
// Or the contents of the file
$client->getItemContents($picture['Id']);
Installation
You can install the package via composer:
``` bash
composer require kapersoft/sharefile-api, (*4)
## Usage
The first thing you need to do is get an OAuth2 key. Go to the [Get an API key](https://api.sharefile.com/rest/oauth2-request.aspx) section on the [ShareFile API site](https://api.sharefile.com/) to get this key.
With an OAuth2 key you can instantiate a `Kapersoft\Sharefile\Client`:
```php
$client = new Client('hostname', 'client_id', 'secret', 'username', 'password');
Look in the source code of Kapersoft\ShareFile\Client
to discover the methods you can use. More examples can be found in the source code of Kapersoft\ShareFile\Test\TestShareFileApi
., (*5)
Changelog
Please see CHANGELOG for more information what has changed recently., (*6)
Testing
In the /tests
-folder are two tests defined:
- TestClient.php
tests the Kapersoft\Sharefile\Client
-class using mock Guzzle objects;
- TestShareFileApi.php
tests the Kapersoft\Sharefile\Client
-class using the live ShareFile API. To use this test fill in your ShareFile credentials under section <PHP>
of the phpunit.xml.dist
-file in the project root folder. Some tests need additional parameters to run. These parameters can be found in the first lines of the test., (*7)
Security
If you discover any security related issues, please email kapersoft@gmail.com instead of using the issue tracker., (*8)
License
The MIT License (MIT). Please see License File for more information., (*9)