字节Plus OpenAPI 节点Js SDK
所需经费:
- 节点.js 12
安装
npm install -S @byteplus/vcloud-sdk-nodejs
基本用途
1. 设置 OpenAPI 服务的 AK&SK
有三种设置
1. 使用API设置 AK&SK
import { vodOpenapi } from "@byteplus/vcloud-sdk-nodejs";
// Use the default service instance.
const vodService = vodOpenapi.defaultService;
// set aksk
vodService.setAccessKeyId(AccessKeyId);
vodService.setSecretKey(SecretKey);
// If you use sts to request, you need to set up `SessionToken` after aksk is set
vodService.setSessionToken(SessionToken);
2. 使用环境变量设置 AK & SK
BYTEPLUS_ACCESSKEY="your ak" BYTEPLUS_SECRETKEY="your sk"
3. 使用配置文件
放进去 ~/.byteplus/config ,格式为:
{"BYTEPLUS_ACCESSKEY":"your ak","BYTEPLUS_SECRETKEY":"your sk"}
请求 OpenAPI
以IAM服务的列表用户 API 为例
import { vodOpenapi } from "@byteplus/vcloud-sdk-nodejs";
async function main(AccessKeyId, SecretKey) {
// Use the default service instance.
const vodService = vodOpenapi.defaultService;
// set aksk
vodService.setAccessKeyId(AccessKeyId);
vodService.setSecretKey(SecretKey);
// Request OpenAPI
const usersResponse = await vodService.ListUsers({
Limit: 10,
Offset: 0,
});
}
OpenAPI 签名方法
根据 HTTP 信头
import { Signer } from "@byteplus/vcloud-sdk-nodejs";
// http request data
const openApiRequestData: RequestObj = {
region: "ap-singapore-1",
method: "GET",
// [optional] http request url query
params: {},
// http request headers
headers: {},
// [optional] http request body
body: "",
};
const signer = new Signer(openApiRequestData, "vod");
// sign
signer.addAuthorization({ accessKeyId, secretKey, sessionToken });
// Print signed headers
console.log(openApiRequestData.headers);
由 HTTP 查询
const openApiRequestData: RequestObj = {
method: "POST",
region: "ap-singapore-1",
params: {
Action: "UpdateSubtitleStatus",
Version: "2023-01-01",
Vid: "your vid",
Status: "your status",
FileIds: "your fileIds",
Formats: "your formats",
Languages: "your languages",
},
};
const credentials: Credentials = {
accessKeyId: BYTEPLUS_ACCESSKEY,
secretKey: BYTEPLUS_SECRETKEY,
sessionToken: "",
};
const signer = new Signer(openApiRequestData, "vod");
const signedQueryString = signer.getSignUrl(credentials);