sdv/ibp-sdk-php

IBP API的HTTP客户端。

1.8.3 2023-05-09 14:33 UTC

README

IBP API的PHP客户端。

索引

安装

通过composer安装

composer require sdv/ibp-sdk-php

使用

use SdV\Ibp;

$ibp = new Ibp('API_BASE_URL');

异常

try {
    $folders = $ibp->setApplicationId('APPLICATION-ID')
        ->setApplicationToken('APPLICATION-TOKEN')
        ->folders();
} catch (ApiException $e) {
    /** @var Ibp\Resources\Error */
    var_dump($e->error);
}

身份验证

使用应用程序ID

$ibp->setApplicationId('APPLICATION-ID-HERE');

使用应用程序令牌

$ibp->setApplicationToken('APPLICATION-TOKEN-HERE');

使用上传令牌

$ibp->setUploadToken('UPLOAD-TOKEN-HERE');

生成上传令牌

$token = $ibp
    ->setApplicationId('app_id')
    ->setApplicationSecret('app_secret')
    ->uploadToken('john.doe@example.com');

可以传递一个参数来配置令牌的有效期(以秒为单位)

// Le token sera utilisable pendant 2 minutes (120 secondes)
$token = $ibp
    ->setApplicationId('app_id')
    ->setApplicationSecret('app_secret')
    ->uploadToken('john.doe@example.com', 120);

生成应用程序令牌

$token = $ibp
    ->setApplicationId('app_id')
    ->setApplicationSecret('app_secret')
    ->applicationToken();

可以传递一个参数来配置令牌的有效期(以秒为单位)

// Le token sera utilisable pendant 2 minutes (120 secondes)
$token = $ibp
    ->setApplicationId('app_id')
    ->setApplicationSecret('app_secret')
    ->applicationToken(120);

文件夹

获取文件夹列表。

$folders = $ibp->folders();

获取一个文件夹。

$folder = $ibp->folder('591c57736afd7d0106486d02');

创建一个文件夹。

$folder = $ibp->createFolder('Mes documents');

更新一个文件夹。

$folder = $ibp->updateFolder('591d4dff22b60a00af674c52', 'Images');

在文件夹中添加一个文件。

$folder = $ibp->addFileInFolder('591d4dff22b60a00af674c52', '59142cd4a64da6014c769813');

从文件夹中删除一个文件。

$deleted = $ibp->removeFileFromFolder('591d4dff22b60a00af674c52', '59142cd4a64da6014c769813');

文件

获取文件列表。

$files = $ibp->files();

获取一个文件。

$file = $ibp->file('59142cd4a64da6014c769813');

标记一个文件

$file = $ibp->TagFile('59142cd4a64da6014c769813', 'manual', ['tag 1', 'tag 2']);

上传一个文件

$fileContent = fopen(__DIR__. '/README.md', 'r');
$file = $ibp->uploadFile($fileContent);

删除一个文件

$ibp->deleteFile('59142cd4a64da6014c769813');

启用/禁用Thumbor智能检测模式

$ibp->setSmartMode('59142cd4a64da6014c769813', false);

应用程序

获取应用程序列表。

$apps = $ibp->applications();

获取一个应用程序。

$app = $ibp->application('5911924f302f600102779d23');

创建一个应用程序。

$app = $ibp->createApplication('Application iPhone v2', 'La nouvelle application iPhone ...');

更新应用程序信息。

$app = $ibp->updateApplication('591d57fe22b60a00e2075f12', 'Application Android v2', 'New Desc');

删除一个应用程序

$isDeleted = $ibp->deleteApplication('591d57fe22b60a00e2075f12');

方法

获取方法列表。

$methodes = $ibp->methodes();

获取一个方法。

$methode = $ibp->methode('5911924f302f600102779d23');

创建一个方法。

$methode = $ibp->createMethode([
    'context' => 'square',
    'generator' => 'Thumbor',
    'param' => [
        'force_ration' => '1:1',
        'crop_width' => 206,
        'crop_width' => 206,
        'crop_x' => 931,
        'crop_y' => 274
    ],
    'description' => 'Image carré'
]);

更新应用程序信息。

$methode = $ibp->updateMethode('591d57fe22b60a00e2075f12', [
    'context' => 'square',
    'generator' => 'Thumbor',
    'param' => [
        'force_ration' => '1:1',
        'crop_width' => 206,
        'crop_width' => 206,
        'crop_x' => 931,
        'crop_y' => 274,
    ],
]);

删除一个方法

$isDeleted = $ibp->deleteMethode('591d57fe22b60a00e2075f12');

流水线

获取流水线列表。

$pipelines = $ibp->pipelines();

致谢

灵感来源于Forge SDK