rbaskam / laravel-pcloud
1.0.14
2022-06-24 07:58 UTC
Requires (Dev)
- orchestra/testbench: 6.0
- phpunit/phpunit: ^9.5
README
一个用于访问pCloud API的PHP库
目录
系统要求
- PHP 5.6+
- PHP cURL 扩展
入门
注册您的应用程序
为了使用此SDK,您必须先在我的应用程序中注册您的应用程序。
安装SDK
使用Composer
安装Composer。
$ composer require rbaskam/laravel-pcloud
或将以下内容添加到composer.json
文件中
"require": {
"rbaskam/laravel-pcloud": "^1.0"
}
php artisan vendor:publish --provider="Rbaskam\LaravelPCloud\Providers\CustomPCloudServiceProvider" --force
//Add the following to your .env
PCLOUD_CLIENT_ID=[Get this from https://docs.pcloud.com/my_apps/]
PCLOUD_CLIENT_SECRET=[Get this from https://docs.pcloud.com/my_apps/]
PCLOUD_ACCESS_TOKEN=[leave blank]
PCLOUD_LOCATION_ID=[leave blank]
生成认证
Artisan
php artisan laravel-pcloud:token
手动
生成授权码,导航到以下链接(将CLIENT_ID替换为您的应用程序客户端ID) https://my.pcloud.com/oauth2/authorize?client_id=CLIENT_ID&response_type=code
获取访问代码和主机名后,下一步是生成访问令牌。**在您导航到以下链接之前,请确保将客户端ID、密钥、访问代码以及主机名(api.pcloud.com)替换为页面上的内容之前的内容 https://api.pcloud.com/oauth2_token?client_id=xxxxxxxxx&client_secret=xxxxxxxxx&code=xxxxxxxxx
将access_token和locationid复制到.env文件中
示例
use Rbaskam\LaravelPCloud\App;
use Rbaskam\LaravelPCloud\File;
use Rbaskam\LaravelPCloud\Folder;
protected $pCloudApp;
public function __construct()
{
$this->pCloudApp = new App();
$this->pCloudApp->setAccessToken(config('laravel-pcloud.access_token'));
$this->pCloudApp->setLocationId(config('laravel-pcloud.location_id'));
}
// Create Folder instance
$pcloudFolder = new Folder($this->pCloudApp);
// Create new folder in root
$folderId = $pcloudFolder->create("New folder");
// Create File instance
$pcloudFile = new File($this->pCloudApp);
// Upload new file in created folder
$fileMetadata = $pcloudFile->upload("./sample.png", $folderId);
// Get folder content
$folderContent = $pcloudFolder->getContent($folderId);
// Get file
$pcloudFile = new File($this->pCloudApp);
$pcloudFile->getLink((int)$fileMetadata->metadata->fileid)
创建自定义请求
use Rbaskam\LaravelPCloud\Request;
use Rbaskam\LaravelPCloud\App;
protected $pCloudApp;
public function __construct()
{
$this->pCloudApp = new App();
$this->pCloudApp->setAccessToken(config('laravel-pcloud.access_token'));
$this->pCloudApp->setLocationId(config('laravel-pcloud.location_id'));
}
$method = "userinfo";
$params = array();
$request = new Request($this->pCloudApp);
$response = $request->get($method, $params); // the second argument is optional