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.
Here are a few examples on how you can use the package:
// 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']);
You can install the package via composer:
composer require kapersoft/sharefile-api
The first thing you need to do is get an OAuth2 key. Go to the Get an API key section on the ShareFile API site to get this key.
With an OAuth2 key you can instantiate a Kapersoft\Sharefile\Client
:
$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
.
Please see CHANGELOG for more information what has changed recently.
In the /tests
-folder are two tests defined:
TestClient.php
tests theKapersoft\Sharefile\Client
-class using mock Guzzle objects;TestShareFileApi.php
tests theKapersoft\Sharefile\Client
-class using the live ShareFile API. To use this test fill in your ShareFile credentials under section<PHP>
of thephpunit.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.
If you discover any security related issues, please email kapersoft@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.