油石/bynder-php-sdk

Bynder PHP 库

v2.2.3 2021-03-29 10:24 UTC

This package is auto-updated.

Last update: 2024-08-29 05:30:53 UTC


README

Build

此 SDK 的主要目标是加快使用 PHP 的 Bynder 客户的集成速度。使其更容易连接到 Bynder API (https://bynder.docs.apiary.io) 并在该 API 上执行请求。

需求和依赖

PHP SDK 需要以下内容才能完全运行

  • PHP >= 5.6,不推荐使用旧版本的 PHP
  • curl,尽管如果您愿意,也可以使用自己的非 cURL 客户端

Composer 应该可以自动处理所有依赖项。

Composer 包

Bynder PHP SDK 作为 composer 包发布在 packagist 上,可在此处找到

https://packagist.org.cn/packages/bynder/bynder-php-sdk

安装

此 SDK 依赖于一些库才能工作,使用 Composer 安装时应自动处理一切。

要使用 Composer 安装 SDK。在项目的根目录中运行以下命令

composer require bynder/bynder-php-sdk

要使用 SDK,我们使用 Composer 的 autoload来自动包含所有文件

require_once('vendor/autoload.php');

如何使用它

这是一个如何从 Bynder 资产库中检索数据的简单示例。有关实现细节的更详细示例,请参阅 示例代码

在向 Bynder API 发送任何请求之前,我们需要实例化 BynderApi 类,以下示例展示了如何使用 BynderApiFactory 构建一个 BynderApi 实例

    $bynder = new BynderClient(new Configuration(
        $bynderDomain,
        $redirectUri,
        $clientId,
        $clientSecret
    ));

SDK 允许使用 Guzzle 请求选项。这可以通过在初始化 Configuration 对象时传递最后一个参数来完成

    $requestOptions = ['proxy' => 'http://MY-PROXY.URL:PORT_NUM'];
    $bynderApi = BynderClient(new Configuration(
       ...,
       $requestOptions
    ));

在成功配置 BynderClient 服务后,我们需要获取 AssetBankManager 的实例,以便执行任何与 Bynder 资产库模块相关的 API 调用

 $assetBankManager = $bynder->getAssetBankManager();

然后,我们可以开始向 API 发送请求,以下列出的是 可用方法 部分。获取所有 媒体项 的简短示例

 $mediaList = $assetBankManager->getMediaList();

此调用将返回一个包含 Bynder 环境中所有媒体项的列表。请注意,一些调用接受查询数组以通过 API 调用参数筛选结果(有关更多详细信息,请参阅 Bynder API 文档)。例如,如果我们只想检索 2 张图片,则调用将如下所示

    $mediaList = $assetBankManager->getMediaList(
        [
          'limit' => 2,
          'type' => 'image'
        ]
   );

所有调用都是 异步的,这意味着它们将返回一个 Promise 对象,这使得它更灵活,可以调整到任何类型的应用。再次强调,有关更详细的示例,此存储库中有 应用用例 的示例。

可用方法

以下是在当前 Bynder PHP SDK 中可用的方法,有关调用更详细的说明,请参阅Bynder API 文档

BynderClient

处理生成和设置访问令牌的过程,该令牌用于向 API 发送请求。还包含与用户相关的调用。

    getAssetBankManager();
    getAuthorizationUrl();
    getAccessToken();
    getUsers();
    getUser($userId, $query);
    getCurrentUser();
    getSecurityProfile($profileId);

AssetBankManager

所有与资产库相关的调用,提供媒体管理的信息和访问权限。

    getBrands();
    getMediaList($query);
    getMediaInfo($mediaId, $versions);
    getMetaproperties();
    getMetaproperty($propertyId);
    getMetapropertyDependencies($propertyId);
    getMetapropertyOptions($query);
    getMetapropetryGlobalOptionDependencies();
    getMetapropertyOptionDependencies($propertyId);
    getMetapropertySpecificOptionDependencies($propertyId, $optionId, $query);
    getTags();
    getCategories();
    getSmartfilters();
    uploadFileAsync($data);
    deleteMedia($mediaId);
    modifyMedia($mediaId, array $data);
    getDerivatives();
    getMediaDownloadLocation($mediaId, $type = 'original');
    getMediaDownloadLocationByVersion($mediaId, $version);
    getMediaDownloadLocationForAssetItem($mediaId, $itemId, $hash = false);
    createUsage($query);
    getUsage($query);
    deleteUsage($query);
    getCollections($query);
    getCollectionAssets($collectionId);

测试

使用 Docker

构建 Docker 镜像并标记它

docker build -t bynder-php-sdk-tests

运行测试

docker run bynder-php-sdk-tests

本地运行

安装上述提到的依赖项(这将解决PHPUnit),然后您可以运行测试套件

./vendor/bin/phpunit tests

或运行单个测试文件

./vendor/bin/phpunit tests/UtilTest.php