字节 JavaScript SDK
SDK旨在帮助发展与 符号 使用 JavaScript, 提供简易 用于通信的接口 Bynder的倒数API。 。 。 .
所需资源
要使用这个SDK,你需要:
- 节点.js v18 或以上地区 (SDK版本2.5.8及以上)
节点安装将包括 国家预防机制,这是 负责扶养管理.
安装
节点.js
npm install @bynder/bynder-js-sdk
import Bynder from '@bynder/bynder-js-sdk';
使用量
这个SDK很依赖 承诺, (中文(简体) ),
方便处理向API提出的同步请求。 SDK这个
页:1 Bynder 对象中包含数个映射到
调用和参数
Bynder 的 API 文档。 。 。 .
以下片段是使用SDK的通例. 如果你需要的话 具体模块的详情,参见 样本文件夹。 。 。 .
在执行任何请求之前,您需要批准给API的电话:
使用永久符号
const bynder = new Bynder({
baseURL: "https//portal.getbynder.com/api/",
permanentToken: "<token>",
});
使用 OAuth2
- 用您的配置调用构造器
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>"
});
- 创建授权 URL, 登录并获得一次性授权代码
const authorizationURL = bynder.makeAuthorizationURL();
- 访问令牌的交换码
bynder.getToken(code);
如果您已经拥有访问符, 您也可以使用 直接符号 :
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的情况下被即时化:
const bynder = new Bynder({
baseURL: "http://api-url.bynder.io/api/",
clientId: "<your OAuth2 client id>",
clientSecret: "<your OAuth2 client secret>"
});
要通过客户证书获得一个信使,请打电话 getTokenClientCredentials()数字 :
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 文档以按预期调试查询 .
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 覆盖范围, 请在此 准备环境的必要步骤:
- 清除仓库
- 在根文件夹中,运行
yarn install以安装所有依赖. - 创建一个
secret.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>"
}
- 可用以下 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 文档.
{
"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 容器中运行
# 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