Skip to content

A minimal PHP implementation of the ShareFile API

License

Notifications You must be signed in to change notification settings

kapersoft/sharefile-api

Repository files navigation

Latest Version on Packagist Build Status StyleCI Quality Score Total Downloads

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.

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']);

Installation

You can install the package via composer:

composer require kapersoft/sharefile-api

Usage

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.

Changelog

Please see CHANGELOG for more information what has changed recently.

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.

Security

If you discover any security related issues, please email kapersoft@gmail.com instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.