# @bynder/bynder-js-sdk 中文文档

规范地址：https://npmcn.com/package/%40bynder/bynder-js-sdk/

版本：2\.5\.8
npm 元数据更新时间：2026-09-14T15:28:37.187Z
中文译文更新时间：2026-11-08T21:27:30.421Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bynder/bynder-js-sdk
原文对照：https://npmcn.com/package/%40bynder/bynder-js-sdk/?lang=original
项目主页：https://github.com/Bynder/bynder-js-sdk#readme
源码仓库：https://github.com/Bynder/bynder-js-sdk

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：62.3 kB，4 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=14\.14
- 运行依赖：16 个
- 首次发布：2017-06-08T12:49:03.931Z
- 最新版本发布：2026-09-14T15:28:37.012Z
- 近 30 天下载量：75344（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：35（近 12 个月 6 个）

## 中文简介

符号 Javascript SDK

## 安装

```sh
npm install @bynder/bynder-js-sdk
```

也可以使用：`pnpm add @bynder/bynder-js-sdk`、`yarn add @bynder/bynder-js-sdk`、`bun add @bynder/bynder-js-sdk`

## README

# 字节 JavaScript SDK

![Tests](https://github.com/Bynder/bynder-js-sdk/workflows/Tests/badge.svg) ![Publish](https://github.com/Bynder/bynder-js-sdk/workflows/Publish/badge.svg)

SDK旨在帮助发展与 [符号](https://www.bynder.com/en/) 使用 JavaScript, 提供简易 用于通信的接口 [Bynder的倒数API](https://developer-docs.bynder.com/API/)。 。 。 .

## 所需资源

要使用这个SDK,你需要:

-   [节点.js **v18 或以上地区**](https://nodejs.org/) (SDK版本2.5.8及以上)

节点安装将包括 [国家预防机制](https://www.npmjs.com/),这是 负责扶养管理.

## 安装

### 节点.js

`npm install @bynder/bynder-js-sdk`

`import Bynder from '@bynder/bynder-js-sdk';`

## 使用量

这个SDK很依赖 [承诺](https://developers.google.com/web/fundamentals/getting-started/primers/promises), (中文(简体) ), 方便处理向API提出的同步请求。 SDK这个 页:1 `Bynder` 对象中包含数个映射到 调用和参数 [Bynder 的 API 文档](http://docs.bynder.apiary.io/)。 。 。 .

以下片段是使用SDK的通例. 如果你需要的话 具体模块的详情,参见 [样本文件夹](https://github.com/Bynder/bynder-js-sdk/tree/master/samples)。 。 。 .

在执行任何请求之前,您需要批准给API的电话:

#### 使用永久符号

```js
const bynder = new Bynder({
  baseURL: "https//portal.getbynder.com/api/",
  permanentToken: "<token>",
});
```

#### 使用 OAuth2

1.  用您的配置调用构造器

```js
const bynder = new Bynder({
  baseURL: "https://portal.getbynder.com/api/",
  clientId: "<your OAuth2 client id>",
  clientSecret: "<your OAuth2 client secret>",
  redirectUri: "<url where user will be redirected after authenticating>"
});
```

2.  创建授权 URL, 登录并获得一次性授权代码

```js
const authorizationURL = bynder.makeAuthorizationURL();
```

3.  访问令牌的交换码

```js
bynder.getToken(code);
```

如果您已经拥有访问符, 您也可以使用 直接符号 :

```js
const bynder = new Bynder({
  baseURL: "http://api-url.bynder.io/api/",
  clientId: "<your OAuth2 client id>",
  clientSecret: "<your OAuth2 client secret>",
  redirectUri: "<url where user will be redirected after authenticating>",
  token: "<OAuth2 access token>"
});
```

#### OAuth2 客户端证书

Bynder内部的OAuth应用程序需要客户证书的赠款类型. bynder对象可以在不重定向Uri的情况下被即时化:

```js
const bynder = new Bynder({
  baseURL: "http://api-url.bynder.io/api/",
  clientId: "<your OAuth2 client id>",
  clientSecret: "<your OAuth2 client secret>"
});
```

要通过客户证书获得一个信使,请打电话 `getTokenClientCredentials()`数字 :

```js
const bynder = new Bynder({
  baseURL: "http://api-url.bynder.io/api/",
  clientId: "<your OAuth2 client id>",
  clientSecret: "<your OAuth2 client secret>"
});
const token = await bynder.getTokenClientCredentials();
```

样本呼叫可在 `samples/oauth_client_credentials.js`。 。 。 .

#### 提出请求

您现在可以使用 SDK 的各种方法获取介质、 元属性 其他数据。 根据承诺,你应该使用 `.then()`编号 :`.catch()` 处理成功和失败的请求, 页:1.

大多数调用将一个对象作为唯一的参数,但请参考 API 文档以按预期调试查询 .

```js
bynder
  .getMediaList({
    type: "image",
    limit: 9,
    page: 1
  })
  .then(data => {
    // TODO Handle data
  })
  .catch(error => {
    // TODO Handle the error
  });
```

## 可用方法

### 认证

-   `makeAuthorizationURL()`
-   `getToken()`
-   `getTokenClientCredentials()`

### 媒体

-   `getMediaList(queryObject)`
-   `getMediaInfo(queryObject)`
-   `getAllMediaItems(queryObject)`
-   `getMediaTotal(queryObject)`
-   `editMedia(object)`
-   `deleteMedia(id)`

### 媒体使用情况

-   `getAssetUsage(queryObject)`
-   `saveNewAssetUsage(queryObject)`
-   `deleteAssetUsage(queryObject)`

### 细节

-   `getMetaproperties(queryObject)`
-   `getMetaproperty(queryObject)`
-   `saveNewMetaproperty(object)`
-   `editMetaproperty(object)`
-   `deleteMetaproperty(object)`
-   `saveNewMetapropertyOption(object)`
-   `editMetapropertyOption(object)`
-   `deleteMetapropertyOption(object)`

### 收款

-   `getCollections(queryObject)`
-   `getCollection(queryObject)`
-   `saveNewCollection(queryObject)`
-   `shareCollection(queryObject)`
-   `addMediaToCollection(queryObject)`
-   `deleteMediaFromCollection(queryObject)`

### 标记

-   `getTags(queryObject)`

### 智能过滤器

-   `getSmartfilters(queryObject)`

### 品牌

-   `getBrands()`

### 上传

-   `uploadFile(fileObject)`

## 协助SDK

如果您希望为此寄存器提供 并进一步扩大 SDK 中的 API 覆盖范围, 请在此 准备环境的必要步骤:

1.  清除仓库
2.  在根文件夹中,运行 `yarn install` 以安装所有依赖.
3.  创建一个 `secret.json` 带有下列结构的文件 :

```json
{
  "baseURL": "http://api-url.bynder.io/api/",
  "clientId": "<your OAuth2 client id>",
  "clientSecret": "<your OAuth2 client secret>",
  "redirectUri": "<url where user will be redirected after authenticating>"
}
```

4.  可用以下 gulp 任务 :

-   `gulp lint` - 运行ESlint并检查代码.
-   `gulp build` - 运行 Webpack 将代码捆绑起来,以便在浏览器中运行.
-   `gulp babel` - 运行 Babel 创建带有 ES2015 兼容代码的文件夹"dist".
-   `gulp doc` - 运行 JSDoc 为源代码创建自动生成文档的"doc"文件夹.
-   `gulp webserver` - 从根文件夹部署一个网络服务器 `localhost:8080` 运行 html 样本(以避免 CORS 问题).

## 嵌入设置

JavaScript文件可以在安装了相应依赖关系的多克容器内被执行.

### 初始设置

从根目录创建 `secret.json` 文档.

```json
{
  "baseURL": "http://api-url.bynder.io/api/",
  "clientId": "<your OAuth2 client id>",
  "clientSecret": "<your OAuth2 client secret>"
}
```

运行命令 `make run-docker` 启动多克容器.

随着容器的运行,执行命令:

`make executeSdkSample sample-file-name=oauth_client_credentials.js` 其中样本文件名为文件名 `samples/`。此命令将在容器内执行 JavaScript 文件.

### 文件样本

这个 `samples/` 文件夹包含显示不同 SDK 功能的各种实例文件 :

#### 上传示例

-   `upload_client_credentials.js` - 上传新资产
-   `upload_version_client_credentials.js` - 将新版本上传到现有资产(使用) `data.mediaId`(中文(简体) )
-   `upload_additional_client_credentials.js` - 将额外文件上传到现有资产(使用) `additional: true` 财务报告和审定财务报表 `data.id`(中文(简体) )

QA - 在 Docker 容器中运行

```sh
# Build the image (only needed once or after code changes outside samples/ and secret.json)
docker build -t jssdk .

# Run a sample with local samples/ and secret.json mounted into the container
docker run --rm \
  --network=host \
  -v $(pwd)/samples:/app/samples \
  -v $(pwd)/secret.json:/app/secret.json \
  jssdk node samples/tags_client_credentials.js
```

## 常见问题

### @bynder/bynder-js-sdk 是什么？

符号 Javascript SDK

### 如何安装 @bynder/bynder-js-sdk？

在项目目录运行 npm install @bynder/bynder-js-sdk，或使用 pnpm add / yarn add / bun add。

### @bynder/bynder-js-sdk 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/bynder\_\_bynder-js-sdk 是否存在。

### @bynder/bynder-js-sdk 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @bynder/bynder-js-sdk 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=14\.14。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @bynder/bynder-js-sdk 可以商用吗？

@bynder/bynder-js-sdk 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bynder/bynder-js-sdk 的下载量有多少？

根据 npm 官方下载统计，@bynder/bynder-js-sdk 在 2026/10/09 – 2026/11/07 这 30 天内被下载 75,344 次，日均约 2,511 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bynder/bynder-js-sdk 还在维护吗？

最新版本 2\.5\.8 发布于 2026/09/14（1 个月前）；至今共发布 35 个版本，其中过去 12 个月发布了 6 个；首次发布于 2017/06/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

