Skip to content

kapersoft/sharefile-api

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

About

A minimal PHP implementation of the ShareFile API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages