byndertest/bynder-php-sdk-test

2.1.2 2020-11-05 09:10 UTC

This package is auto-updated.

Last update: 2024-09-05 19:22:12 UTC


README

Build Coverage Status Packagist Version Packagist Downloads

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

要求和依赖关系

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 的 自动加载 来自动包含所有文件

require_once('vendor/autoload.php');

如何使用

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

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

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

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

    $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