pcloud / pcloud-php-sdk
pCloud SDK for PHP
Installs: 6 080
Dependents: 1
Suggesters: 0
Security: 0
Stars: 54
Watchers: 9
Forks: 22
Open Issues: 2
Requires
- php: >=7.1
- ext-curl: *
Requires (Dev)
- phpunit/phpunit: 9.5.11
This package is not auto-updated.
Last update: 2024-10-31 23:04:54 UTC
README
A PHP library to access pCloud API
Table of Contents
System requirements
PHP 7.1.0 or higher is Required
Likelihood Of Impact: Critical
- The new minimum PHP version is now 7.1.0.
- PHP cURL extension
Get started
Register your application
In order to use this SDK, you have to register your application in My applications.
Install the SDK
Using Composer
Install Composer.
$ composer require pcloud/pcloud-php-sdk
or add the following to composer.json
file
"require": {
"pcloud/pcloud-php-sdk": "3.*"
}
Manually
Copy lib/
folder and include lib/autoload.php
in your code
Initializing the SDK
The SDK uses an OAuth 2.0 access token to authorize requests to the pCloud API.
You can obtain a token using the SDK's authorization flow.
To allow the SDK to do that, find App Key
, App secret
and Redirect URIs
in your application configuration page and add them to /example/code.php
and /example/auth.php
.
Note that redirect_uri
is optional.
Run /example/code.php
to get an authorization code and use this code in /example/auth.php
. This will return access_token
and locationid
.
Example
// Include autoload.php and set the credential file path
$access_token = "ACCESS_TOKEN";
$locationid = 1;
$pCloudApp = new pCloud\Sdk\App();
$pCloudApp->setAccessToken($access_token);
$pCloudApp->setLocationId($locationid);
// Create Folder instance
$pcloudFolder = new pCloud\Sdk\Folder($pCloudApp);
// Create new folder in root
$folderId = $pcloudFolder->create("New folder");
// Create File instance
$pcloudFile = new pCloud\Sdk\File($pCloudApp);
// Upload new file in created folder
$fileMetadata = $pcloudFile->upload("./sample.png", $folderId);
// Get folder content
$folderContent = $pcloudFolder->getContent($folderId);
Creating custom requests
$access_token = "";
$locationid = 1;
$pCloudApp = new pCloud\Sdk\App();
$pCloudApp->setAccessToken($access_token);
$pCloudApp->setLocationId($locationid);
$method = "userinfo";
$params = array();
$request = new pCloud\Sdk\Request($pCloudApp);
$response = $request->get($method, $params); // the second argument is optional
Migration guide
In version SDK version 3 the most significant changes are related to adjusting the namespaces. To easily migrate to version 3 you need to change the following:
<?php
namespace MyPhpApplication;
# this
use pCloud\App; // <-- Old versions
# change to:
use pCloud\Sdk\App; // <-- version 3.
-----
The same change needs to be applied to all pCloud SDK names, pCloud\File, pCloud\Folder, ...
In case you intanciating the classes directly, you can make the following changes:
<?php
namespace MyPhpApplication;
# this
$pCloudFolder = new pCloud\Folder($pCloudApp); // <-- Old versions
# change to:
$pCloudFolder = new pCloud\Sdk\Folder($pCloudApp); // <-- version 3.
-----
In case we missed something, you can find more examples in the "example" folder.