TypeScript SDK 参考


安装

$npm i -s frameio

用法

使用以下内容实例化和使用客户端:

1import { FrameioClient } from "frameio";
2
3const client = new FrameioClient({ token: "YOUR_TOKEN" });
4await client.metadataFields.metadataFieldDefinitionsCreate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
5 data: {
6 field_type: "select",
7 field_configuration: {
8 enable_add_new: false,
9 options: [
10 {
11 display_name: "Option 1",
12 },
13 {
14 display_name: "Option 2",
15 },
16 ],
17 },
18 name: "Fields definition name",
19 },
20});

请求和响应类型

SDK 将所有请求和响应类型导出为 TypeScript 接口。 只需使用以下命名空间导入它们:

1import { Frameio } from "frameio";
2
3const request: Frameio.UpdateFieldDefinitionParams = {
4 ...
5};

异常情况处理

当 API 返回非成功状态代码(4xx 或 5xx 响应)时,将抛出以下错误的子类。

1import { FrameioError } from "frameio";
2
3try {
4 await client.metadataFields.metadataFieldDefinitionsCreate(...);
5} catch (err) {
6 if (err instanceof FrameioError) {
7 console.log(err.statusCode);
8 console.log(err.message);
9 console.log(err.body);
10 console.log(err.rawResponse);
11 }
12}

高级

其他标头

如果要向请求中发送其他标头,请使用标头请求选项。

1const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
2 headers: {
3 'X-Custom-Header': 'custom value'
4 }
5});

其他查询字符串参数

如果要向请求中发送其他查询字符串参数,请使用 queryParams 请求选项。

1const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
2 queryParams: {
3 'customQueryParamKey': 'custom query param value'
4 }
5});

重试

SDK 内置了具有指数退避机制的自动重试功能。 只要请求被视为可重试且重试次数未超过配置的重试限制(默认值:2),就会重试请求。

在返回以下任意 HTTP 状态代码时,该请求均被视为可重试:

  • 408(超时)
  • 429(请求过多)
  • 5XX(内部服务器错误)


使用 maxRetries 请求选项来配置此行为。

1const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
2 maxRetries: 0 // override maxRetries at the request level
3});

超时

SDK 的默认超时时间为 60 秒。 使用 timeoutInSeconds 请求选项来配置此行为。

1const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
2 timeoutInSeconds: 30 // override timeout to 30s
3});

中止请求

SDK 允许用户通过传递中止信号随时中止请求。

1const controller = new AbortController();
2const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
3 abortSignal: controller.signal
4});
5controller.abort(); // aborts the request

访问原始响应数据

SDK 通过 .withRawResponse() 方法提供对原始响应数据(包括标头)的访问权限。 .withRawResponse() 方法返回一个 promise,该 promise 会得到一个包含 datarawResponse 属性的对象。

1const { data, rawResponse } = await client.metadataFields.metadataFieldDefinitionsCreate(...).withRawResponse();
2
3console.log(data);
4console.log(rawResponse.headers['X-My-Header']);

运行时兼容性

SDK 可在以下运行时中运行:

  • Node.js 18+
  • Vercel
  • Cloudflare Workers
  • Deno v1.25+
  • Bun 1.0+
  • React Native

自定义 Fetch 客户端

SDK 为您提供了一种自定义底层 HTTP 客户端/Fetch 函数的方法。 如果您在不受支持的环境中运行,这可以提供一种打破限制并确保 SDK 正常运行的方法。

1import { FrameioClient } from "frameio";
2
3const client = new FrameioClient({
4 ...
5 fetcher: // provide your implementation here
6});

参考

帐户权限

列出给定帐户的用户角色。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1const response = await client.accountPermissions.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include_deactivated: true,
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});
7for await (const item of response) {
8 console.log(item);
9}
10
11// Or you can manually iterate page-by-page
12let page = await client.accountPermissions.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
13 include_deactivated: true,
14 after: "<opaque_cursor>",
15 page_size: 10,
16 include_total_count: false,
17});
18while (page.hasNextPage()) {
19 page = page.getNextPage();
20}

参数

accountId: Frameio.Uuid

request: Frameio.AccountPermissionsIndexRequest

requestOptions: AccountPermissions.RequestOptions

帐户

列出当前用户的帐户。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1const response = await client.accounts.index({
2 after: "<opaque_cursor>",
3 page_size: 10,
4 include_total_count: false,
5});
6for await (const item of response) {
7 console.log(item);
8}
9
10// Or you can manually iterate page-by-page
11let page = await client.accounts.index({
12 after: "<opaque_cursor>",
13 page_size: 10,
14 include_total_count: false,
15});
16while (page.hasNextPage()) {
17 page = page.getNextPage();
18}

参数

request: Frameio.AccountsIndexRequest

requestOptions: Accounts.RequestOptions

通过查询参数提供筛选功能,列出审核日志。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.accounts.auditlogIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "user",
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});

参数

accountId: Frameio.FrameOrAdobeId

request: Frameio.AuditlogIndexRequest

requestOptions: Accounts.RequestOptions

Auth

使用 OAuth 2.0 client_credentials 授权凭证进行身份验证。此流程不涉及用户,也不会返回刷新令牌。 当访问令牌过期时,SDK 会使用客户端凭据自动请求新令牌。

usage
1import { FrameioClient, ServerToServerAuth } from "frameio";
2
3const auth = new ServerToServerAuth({
4 clientId: "YOUR_CLIENT_ID",
5 clientSecret: "YOUR_CLIENT_SECRET",
6});
7const client = new FrameioClient({ token: () => auth.getToken() });

参数

clientId: string — Adobe IMS OAuth 客户端 ID.

clientSecret: string — Adobe IMS OAuth 客户端密钥。

scopes: string — 以空格分隔的权限范围 (OAuth 2.0 RFC 6749)。默认使用服务器到服务器的权限范围。

imsBaseUrl: string — 用于暂存/备用环境的 IMS 基本 URL。默认为生产环境。

fetch: typeof fetch — 自定义获取实施(用于代理、TLS 等)。

onTokenRefreshed: OnTokenRefreshed — 可选回调,在每次获取令牌后触发。

timeout: number — HTTP 请求超时时间(以毫秒为单位)。默认为 30000。

maxRetries: number — 瞬态故障的最大重试次数。默认为 2。

refreshBuffer: number — 过期时间前触发主动刷新的秒数。默认为 60。

logger: Logger — 用于诊断输出的记录器实例。方法 getToken(): Promise<string> — 返回有效的访问令牌,必要时进行刷新。将其传递给客户端:new FrameioClient({ token: () => auth.getToken() })authenticate(): Promise<TokenResponse> — 显式获取新的访问令牌。revoke(): Promise<void> — 撤销服务器端的令牌并清除本地状态。exportTokens(): ExportedTokens — 导出当前令牌状态,实现持久性。importTokens(data: ExportedTokens): void — 从之前导出的对象中还原令牌状态。

使用 OAuth 2.0 authorization_code 授权凭证进行身份验证。将其用于可安全存储客户端密钥的服务器端应用程序。

usage
1import { randomBytes } from "crypto";
2import { FrameioClient, WebAppAuth } from "frameio";
3
4const auth = new WebAppAuth({
5 clientId: "YOUR_CLIENT_ID",
6 clientSecret: "YOUR_CLIENT_SECRET",
7 redirectUri: "https://myapp.com/callback",
8});
9const url = auth.getAuthorizationUrl({ state: randomBytes(24).toString("hex") });
10// redirect the user to url ...
11await auth.exchangeCode("CODE_FROM_CALLBACK");
12const client = new FrameioClient({ token: () => auth.getToken() });

参数

clientId: string — Adobe IMS OAuth 客户端 ID.

clientSecret: string — Adobe IMS OAuth 客户端密钥。

redirectUri: string — 已注册的重定向 URI。

scopes: string — 以空格分隔的权限范围 (OAuth 2.0 RFC 6749)。

imsBaseUrl: string — 用于暂存/备用环境的 IMS 基本 URL。默认为生产环境。

fetch: typeof fetch — 自定义获取实施(用于代理、TLS 等)。

onTokenRefreshed: OnTokenRefreshed — 可选回调,在每次刷新令牌后触发。

timeout: number — HTTP 请求超时时间(以毫秒为单位)。默认为 30000。

maxRetries: number — 瞬态故障的最大重试次数。默认为 2。

refreshBuffer: number — 过期时间前触发主动刷新的秒数。默认为 60。

logger: Logger — 用于诊断输出的记录器实例。方法 getToken(): Promise<string> — 返回有效的访问令牌,必要时进行刷新。getAuthorizationUrl({ state }): string — 构建 Adobe IMS 授权 URL。传递一个不透明的 CSRF/状态值,该值将被回显。 exchangeCode(code: string): Promise<TokenResponse> — 使用授权代码交换访问令牌和刷新令牌。refresh(): Promise<TokenResponse> — 手动触发令牌刷新。revoke(): Promise<void> — 撤销服务器端的令牌并清除本地状态。exportTokens(): ExportedTokens — 导出当前令牌状态,实现持久性。importTokens(data: ExportedTokens): void — 从之前导出的对象中还原令牌状态。

使用 authorization_code + PKCE(无客户端密钥)进行身份验证。将其用于无法安全存储客户端密钥的基于浏览器的单页应用程序。

usage
1import { randomBytes } from "crypto";
2import { FrameioClient, SPAAuth } from "frameio";
3
4const auth = new SPAAuth({
5 clientId: "YOUR_CLIENT_ID",
6 redirectUri: "https://myapp.com/cb",
7});
8const result = await auth.getAuthorizationUrl({ state: randomBytes(24).toString("hex") });
9// redirect the user to result.url, store result.codeVerifier ...
10await auth.exchangeCode({ code: "CODE_FROM_CALLBACK", codeVerifier: result.codeVerifier });
11const client = new FrameioClient({ token: () => auth.getToken() });

参数

clientId: string — Adobe IMS OAuth 客户端 ID.

redirectUri: string — 已注册的重定向 URI。

scopes: string — 以空格分隔的权限范围 (OAuth 2.0 RFC 6749)。

imsBaseUrl: string — 用于暂存/备用环境的 IMS 基本 URL。默认为生产环境。

fetch: typeof fetch — 自定义获取实施(用于代理、TLS 等)。

onTokenRefreshed: OnTokenRefreshed — 可选回调,在每次刷新令牌后触发。

timeout: number — HTTP 请求超时时间(以毫秒为单位)。默认为 30000。

maxRetries: number — 瞬态故障的最大重试次数。默认为 2。

refreshBuffer: number — 过期时间前触发主动刷新的秒数。默认为 60。

logger: Logger — 用于诊断输出的记录器实例。方法 getToken(): Promise<string> — 返回有效的访问令牌,必要时进行刷新。getAuthorizationUrl({ state }): Promise<AuthorizationUrlResult> — 使用 PKCE 质询构建 Adobe IMS 授权 URL。返回带有 urlcodeVerifier 属性的 AuthorizationUrlResultexchangeCode({ code, codeVerifier }): Promise<TokenResponse> — 将授权代码 + PKCE 验证器交换为令牌。refresh(): Promise<TokenResponse> — 手动触发令牌刷新。revoke(): Promise<void> — 撤销服务器端的令牌并清除本地状态。exportTokens(): ExportedTokens — 导出当前令牌状态,实现持久性。importTokens(data: ExportedTokens): void — 从之前导出的对象中还原令牌状态。

使用 authorization_code + PKCE 对桌面和移动应用程序进行身份验证。与 SPAAuth 共享相同的 API;使用自定义架构重定向 URI(例如 myapp://callback)。

usage
1import { randomBytes } from "crypto";
2import { FrameioClient, NativeAppAuth } from "frameio";
3
4const auth = new NativeAppAuth({
5 clientId: "YOUR_CLIENT_ID",
6 redirectUri: "myapp://callback",
7});
8const result = await auth.getAuthorizationUrl({ state: randomBytes(24).toString("hex") });
9// open result.url in the system browser, store result.codeVerifier ...
10await auth.exchangeCode({ code: "CODE_FROM_CALLBACK", codeVerifier: result.codeVerifier });
11const client = new FrameioClient({ token: () => auth.getToken() });

参数

clientId: string — Adobe IMS OAuth 客户端 ID.

redirectUri: string — 已注册的重定向 URI(支持自定义架构)。

scopes: string — 以空格分隔的权限范围 (OAuth 2.0 RFC 6749)。

imsBaseUrl: string — 用于暂存/备用环境的 IMS 基本 URL。默认为生产环境。

fetch: typeof fetch — 自定义获取实施(用于代理、TLS 等)。

onTokenRefreshed: OnTokenRefreshed — 可选回调,在每次刷新令牌后触发。

timeout: number — HTTP 请求超时时间(以毫秒为单位)。默认为 30000。

maxRetries: number — 瞬态故障的最大重试次数。默认为 2。

refreshBuffer: number — 过期时间前触发主动刷新的秒数。默认为 60。

logger: Logger — 用于诊断输出的记录器实例。方法SPAAuth 相同:getToken()getAuthorizationUrl({ state })exchangeCode({ code, codeVerifier })refresh()revoke()exportTokens()importTokens(data)

SPAAuth.getAuthorizationUrl()NativeAppAuth.getAuthorizationUrl() 返回的对象。包含授权 URL 和 PKCE 代码验证器。 属性 url: string — 要将用户重定向到的完整授权 URL。codeVerifier: string — 用于存储并传递给 exchangeCode() 的 PKCE 代码验证器。

身份验证异常情况

所有身份验证错误都扩展 FrameioAuthError,并且可以从 frameio 导入。

例外描述
FrameioAuthError所有身份验证 SDK 错误的基础错误。
AuthenticationError令牌交换或刷新失败。 包含 errorCodeerrorDescription 属性。
TokenExpiredError刷新令牌已过期;需要进行重新验证。
NetworkError网络请求失败(超时、连接错误等)。
RateLimitErrorAdobe IMS 返回 429,重试次数已用尽。包含 retryAfter 属性。
PKCEErrorPKCE 验证失败。
ConfigurationError缺少必需配置或配置无效。

收藏集

列出项目的收藏集。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.collections.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator,project",
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

request: Frameio.CollectionsIndexRequest

requestOptions: Collections.RequestOptions

显示收藏集详细信息

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.collections.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator,project",
3});

参数

accountId: Frameio.Uuid

collectionId: Frameio.Uuid

request: Frameio.CollectionsShowRequest

requestOptions: Collections.RequestOptions

评论

显示文件上的单条评论。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.comments.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "owner",
3});

参数

accountId: Frameio.Uuid

commentId: Frameio.Uuid

request: Frameio.CommentsShowRequest

requestOptions: Comments.RequestOptions

从资产中删除评论。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.comments.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

commentId: Frameio.Uuid

requestOptions: Comments.RequestOptions

更新给定资产上的评论。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.comments.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 timestamp_as_timecode: true,
3 data: {
4 annotation:
5 '[{"tool":"rect","color":"#F22237","size":8,"x":0.277726001863933,"y":0.12909555568499534,"w":0.3153168321877913,"h":0.5308131407269339,"ix":0.277726001863933,"iy":0.12909555568499534,"radius":8}]',
6 completed: false,
7 page: 4,
8 text: "This is great!",
9 },
10});

参数

accountId: Frameio.Uuid

commentId: Frameio.Uuid

request: Frameio.UpdateCommentParams

requestOptions: Comments.RequestOptions

列出给定资产上的评论。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1const response = await client.comments.index(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 {
5 include: "owner",
6 after: "<opaque_cursor>",
7 page_size: 10,
8 include_total_count: false,
9 },
10);
11for await (const item of response) {
12 console.log(item);
13}
14
15// Or you can manually iterate page-by-page
16let page = await client.comments.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
17 include: "owner",
18 after: "<opaque_cursor>",
19 page_size: 10,
20 include_total_count: false,
21});
22while (page.hasNextPage()) {
23 page = page.getNextPage();
24}

参数

accountId: Frameio.Uuid

fileId: Frameio.Uuid

request: Frameio.CommentsIndexRequest

requestOptions: Comments.RequestOptions

对文件发表评论。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.comments.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 timestamp_as_timecode: true,
3 data: {
4 annotation:
5 '[{"tool":"rect","color":"#F22237","size":8,"x":0.277726001863933,"y":0.12909555568499534,"w":0.3153168321877913,"h":0.5308131407269339,"ix":0.277726001863933,"iy":0.12909555568499534,"radius":8}]',
6 completed: false,
7 page: 4,
8 text: "This is great!",
9 timestamp: "00:00:02:12",
10 },
11});

参数

accountId: Frameio.Uuid

fileId: Frameio.Uuid

request: Frameio.CreateCommentParams

requestOptions: Comments.RequestOptions

为现有评论创建附件

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.comments.createAttachment("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 file_size: 1024000,
4 media_type: "image/png",
5 name: "screenshot.png",
6 },
7});

参数

accountId: Frameio.FrameOrAdobeId

commentId: Frameio.Uuid

request: Frameio.CreateAttachmentParams

requestOptions: Comments.RequestOptions

删除评论中的附件.

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.comments.deleteAttachment("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.FrameOrAdobeId

commentId: Frameio.Uuid

attachmentId: Frameio.Uuid

requestOptions: Comments.RequestOptions

自定义操作

列出给定工作区中的操作。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.customActions.actionsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});

参数

accountId: Frameio.FrameOrAdobeId

workspaceId: Frameio.Uuid

request: Frameio.ActionsIndexRequest

requestOptions: CustomActions.RequestOptions

显示自定义操作详细信息。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.customActions.actionsShow("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3});

参数

accountId: Frameio.FrameOrAdobeId

actionId: Frameio.Uuid

request: Frameio.ActionsShowRequest

requestOptions: CustomActions.RequestOptions

在工作区中创建自定义操作。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.customActions.actionsCreate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 description: "customizing our workflow",
4 event: "my.event",
5 name: "First Custom Action",
6 timeout: 7,
7 url: "https://example.com/custom-action",
8 },
9});

参数

accountId: Frameio.FrameOrAdobeId

workspaceId: Frameio.Uuid

request: Frameio.ActionCreateParams

requestOptions: CustomActions.RequestOptions

更新自定义操作详细信息。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.customActions.actionsUpdate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 active: true,
4 description: "customizing our workflow",
5 event: "my.event",
6 multi_asset: true,
7 name: "First Custom Action",
8 timeout: 7,
9 url: "https://example.com/custom-action",
10 },
11});

参数

accountId: Frameio.FrameOrAdobeId

actionId: Frameio.Uuid

request: Frameio.ActionUpdateParams

requestOptions: CustomActions.RequestOptions

删除自定义操作。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.customActions.actionsDelete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.FrameOrAdobeId

actionId: Frameio.Uuid

requestOptions: CustomActions.RequestOptions

文件

列出给定文件夹中的文件。

速率限制:每个 account_user 每 1 秒钟 5 次调用

usage
1await client.files.list("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "media_links",
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FilesListRequest

requestOptions: Files.RequestOptions

在主文件夹下创建新文件。创建文件(本地上传)创建文件(远程上传)已替换此端点。

速率限制:每个 account_user 每 1 秒钟 5 次调用

usage
1await client.files.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 file_size: 1137444,
4 media_type: "image/png",
5 name: "asset.png",
6 },
7});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FileCreateParams

requestOptions: Files.RequestOptions

显示文件详细信息。

使用 include 查询参数选择性地在响应中包含其他属性。

如果您包含 media_links.original 且用户无权下载文件,则此端点将响应 403 Forbidden 错误。如果由于该用户需要水印而请求的 media_links 不支持水印,导致内容无法访问,则请求将成功,但不支持的媒体链接将被设置为 null。 同样,如果请求的转码链接对于特定文件不存在(例如,在静态图像文件中包含 media_links.video_h264_180)或者转码过程尚未完成(即文件的状态为“已上传”而不是“已转码”),则响应负载中的链接也将被设置为 null。 简而言之,客户端必须妥善处理 null 媒体链接。

速率限制:每个 account_user 每 1 秒钟 5 次调用

usage
1await client.files.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "media_links",
3});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FilesShowRequest

requestOptions: Files.RequestOptions

按 ID 删除文件。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.files.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

fileId: Frameio.Uuid

requestOptions: Files.RequestOptions

更新文件详细信息。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.files.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 name: "asset.png",
4 },
5});

参数

accountId: Frameio.Uuid

fileId: Frameio.Uuid

request: Frameio.FileUpdateParams

requestOptions: Files.RequestOptions

复制文件。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.files.copy("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 copy_metadata: true,
3 copy_comments: "none",
4 data: {
5 parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
6 },
7});

参数

accountId: Frameio.Uuid

fileId: Frameio.Uuid

request: Frameio.FileCopyParams

requestOptions: Files.RequestOptions

通过远程上传在父文件夹下创建新文件。

速率限制:每个 account_user 每 1 秒钟 5 次调用

usage
1await client.files.createRemoteUpload("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 name: "asset.png",
4 source_url: "https://upload.wikimedia.org/wikipedia/commons/e/e1/White_Pixel_1x1.png",
5 },
6});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FileCreateRemoteUploadParams

requestOptions: Files.RequestOptions

将文件移至文件夹或 version_stack。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.files.move("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
4 },
5});

参数

accountId: Frameio.Uuid

fileId: Frameio.Uuid

request: Frameio.FileMoveParams

requestOptions: Files.RequestOptions

通过本地上传在父文件夹下创建新文件。

速率限制:每个 account_user 每 1 秒钟 5 次调用

usage
1await client.files.createLocalUpload("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 file_size: 1137444,
4 name: "asset.png",
5 },
6});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FileCreateLocalUploadParams

requestOptions: Files.RequestOptions

显示文件上传状态详细信息。

速率限制:每个 account_user 每 1 秒钟 5 次调用

usage
1await client.files.showFileUploadStatus("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

fileId: Frameio.Uuid

requestOptions: Files.RequestOptions

从帐户上配置的存储位置导入文件

速率限制:每个 account_user 每 1 秒钟 5 次调用

usage
1await client.files.importFile("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 key: "uploads/08091b0f-a541-42f5-a059-5e8c4afecc12/original.png",
4 name: "asset.png",
5 storage_location: "123e4567-e89b-12d3-a456-426614174000",
6 },
7});

参数

accountId: Frameio.FrameOrAdobeId

folderId: Frameio.FrameOrAdobeId

request: Frameio.FileImportParams

requestOptions: Files.RequestOptions

文件夹权限

列出给定文件夹的用户角色

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.folderPermissions.folderUserRolesIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include_deactivated: true,
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FolderUserRolesIndexRequest

requestOptions: FolderPermissions.RequestOptions

如果用户已添加到文件夹,则更新给定文件夹的用户角色。如果用户未添加到文件夹,则会添加该用户并分配给定角色。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.folderPermissions.folderUserRolesUpdate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 role: "editor",
4 },
5});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

userId: Frameio.Uuid

request: Frameio.UpdateUserRolesParams

requestOptions: FolderPermissions.RequestOptions

从指定文件夹中移除用户。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.folderPermissions.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

userId: Frameio.Uuid

requestOptions: FolderPermissions.RequestOptions

文件夹

显示文件夹详细信息。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.folders.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3});

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

request: Frameio.FoldersShowRequest

requestOptions: Folders.RequestOptions

按 ID 删除文件夹。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.folders.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

requestOptions: Folders.RequestOptions

更新文件夹详细信息。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.folders.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 name: "Folder name",
4 },
5});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FolderUpdateParams

requestOptions: Folders.RequestOptions

列出给定文件夹中的次项。

使用 include 查询参数选择性地在响应中包含其他属性。

如果您包含 media_links.original 且用户无权下载相应项目中的文件,则此端点将响应 403 Forbidden 错误。如果由于该用户需要水印而请求的 media_links 不支持水印,导致内容无法访问,则请求将成功,但不支持的媒体链接将被设置为 null。 同样,如果请求的转码链接对于特定文件不存在(例如,在静态图像文件中包含 media_links.video_h264_180)或者转码过程尚未完成(即文件的状态为“已上传”而不是“已转码”),则响应负载中的媒体链接也将被设置为 null。 简而言之,客户端必须妥善处理 null 媒体链接。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.folders.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "media_links",
3 type: "file,folder,version_stack",
4 after: "<opaque_cursor>",
5 page_size: 10,
6 include_total_count: false,
7});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FolderIndexRequest

requestOptions: Folders.RequestOptions

复制文件夹。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.folders.copy("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 copy_metadata: true,
3 data: {
4 parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
5 },
6});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FolderCopyParams

requestOptions: Folders.RequestOptions

列出给定文件夹中的文件夹。

速率限制:每个 account_user 每 1 秒钟 5 次调用

usage
1await client.folders.list("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FoldersListRequest

requestOptions: Folders.RequestOptions

在指定的 folder_id 路径参数内创建新文件夹

速率限制:每个 account_user 每 1 秒钟 3 次调用

usage
1await client.folders.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 name: "Folder name",
4 },
5});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FolderCreateParams

requestOptions: Folders.RequestOptions

将文件夹移动到另一个文件夹。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.folders.move("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
4 },
5});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.FolderMoveParams

requestOptions: Folders.RequestOptions

列出帐户中的组

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.groups.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3 sort: "creator_asc",
4 after: "<opaque_cursor>",
5 page_size: 10,
6 include_total_count: false,
7});

参数

accountId: Frameio.FrameOrAdobeId

request: Frameio.GroupsIndexRequest

requestOptions: Groups.RequestOptions

显示组详细信息

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.groups.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3});

参数

accountId: Frameio.FrameOrAdobeId

groupId: Frameio.Uuid

request: Frameio.GroupsShowRequest

requestOptions: Groups.RequestOptions

为当前帐户创建组

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.groups.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 emoji: "smile",
4 name: "group-1",
5 },
6});

参数

accountId: Frameio.FrameOrAdobeId

request: Frameio.CreateGroupParams

requestOptions: Groups.RequestOptions

更新组详细信息

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.groups.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 emoji: "smile",
4 name: "group-1",
5 },
6});

参数

accountId: Frameio.FrameOrAdobeId

groupId: Frameio.Uuid

request: Frameio.UpdateGroupParams

requestOptions: Groups.RequestOptions

元数据

更新多个文件中的元数据值。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.metadata.bulkUpdate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 file_ids: ["09b31c2a-04de-464a-a593-643a36ef0d98", "b967fc36-4e18-4b48-a3ab-c790100e2baa"],
4 values: [
5 {
6 field_definition_id: "ff41ce50-269b-4624-8306-aac10e28ab94",
7 value: [
8 {
9 id: "e60f47b4-cf8e-4273-96d5-3258a830a0aa",
10 type: "user",
11 },
12 {
13 id: "24eeaf7e-ce27-4555-bc77-cce39900626d",
14 type: "account_user_group",
15 },
16 ],
17 },
18 ],
19 },
20});

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

request: Frameio.BulkUpdateMetadataParams

requestOptions: Metadata.RequestOptions

显示文件的元数据。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.metadata.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 show_null: true,
3});

参数

accountId: Frameio.Uuid

fileId: Frameio.Uuid

request: Frameio.MetadataShowRequest

requestOptions: Metadata.RequestOptions

元数据字段

删除帐户级自定义字段定义。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.metadataFields.metadataFieldDefinitionsDelete(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4);

参数

accountId: Frameio.Uuid

fieldDefinitionId: Frameio.Uuid

requestOptions: MetadataFields.RequestOptions

更新帐户级自定义字段定义。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.metadataFields.metadataFieldDefinitionsUpdate(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 {
5 data: {
6 field_type: "select",
7 field_configuration: {
8 enable_add_new: false,
9 options: [
10 {
11 display_name: "Option 1",
12 },
13 {
14 display_name: "Option 2",
15 },
16 ],
17 },
18 name: "Updated-Field-Name",
19 },
20 },
21);

参数

accountId: Frameio.Uuid

fieldDefinitionId: Frameio.Uuid

request: Frameio.UpdateFieldDefinitionParams

requestOptions: MetadataFields.RequestOptions

列出帐户级字段定义。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.metadataFields.metadataFieldDefinitionsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});

参数

accountId: Frameio.Uuid

request: Frameio.MetadataFieldDefinitionsIndexRequest

requestOptions: MetadataFields.RequestOptions

创建帐户级字段定义。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.metadataFields.metadataFieldDefinitionsCreate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 field_type: "select",
4 field_configuration: {
5 enable_add_new: false,
6 options: [
7 {
8 display_name: "Option 1",
9 },
10 {
11 display_name: "Option 2",
12 },
13 ],
14 },
15 name: "Fields definition name",
16 },
17});

参数

accountId: Frameio.Uuid

request: Frameio.CreateFieldDefinitionParams

requestOptions: MetadataFields.RequestOptions

项目权限

列出给定项目的用户角色。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1const response = await client.projectPermissions.index(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 {
5 include_deactivated: true,
6 after: "<opaque_cursor>",
7 page_size: 10,
8 include_total_count: false,
9 },
10);
11for await (const item of response) {
12 console.log(item);
13}
14
15// Or you can manually iterate page-by-page
16let page = await client.projectPermissions.index(
17 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
18 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
19 {
20 include_deactivated: true,
21 after: "<opaque_cursor>",
22 page_size: 10,
23 include_total_count: false,
24 },
25);
26while (page.hasNextPage()) {
27 page = page.getNextPage();
28}

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

request: Frameio.ProjectPermissionsIndexRequest

requestOptions: ProjectPermissions.RequestOptions

从给定项目中移除用户。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.projectPermissions.delete(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
5);

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

userId: Frameio.Uuid

requestOptions: ProjectPermissions.RequestOptions

如果用户已添加到给定项目,则更新该项目的用户角色。 如果用户未添加到项目,则会添加该用户并分配给定角色。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.projectPermissions.projectUserRolesUpdate(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
5 {
6 data: {
7 role: "editor",
8 },
9 },
10);

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

UserId: Frameio.Uuid

request: Frameio.UpdateUserRolesParams

requestOptions: ProjectPermissions.RequestOptions

项目

显示项目详细信息。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.projects.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "owner",
3});

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

request: Frameio.ProjectsShowRequest

requestOptions: Projects.RequestOptions

删除项目。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.projects.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

requestOptions: Projects.RequestOptions

更新项目详细信息。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.projects.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 name: "Project Name",
4 restricted: true,
5 status: "active",
6 },
7});

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

request: Frameio.ProjectUpdateParams

requestOptions: Projects.RequestOptions

列出给定工作区中的项目。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1const response = await client.projects.index(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 {
5 include: "owner",
6 after: "<opaque_cursor>",
7 page_size: 10,
8 include_total_count: false,
9 },
10);
11for await (const item of response) {
12 console.log(item);
13}
14
15// Or you can manually iterate page-by-page
16let page = await client.projects.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
17 include: "owner",
18 after: "<opaque_cursor>",
19 page_size: 10,
20 include_total_count: false,
21});
22while (page.hasNextPage()) {
23 page = page.getNextPage();
24}

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

request: Frameio.ProjectsIndexRequest

requestOptions: Projects.RequestOptions

在给定工作区中创建项目。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.projects.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 name: "Project Name",
4 restricted: true,
5 },
6});

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

request: Frameio.ProjectsParams

requestOptions: Projects.RequestOptions

列出已验证用户在指定帐户内具有访问权限的所有项目.

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.projects.accountProjectsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "owner",
3 sort: "name_asc",
4 after: "<opaque_cursor>",
5 page_size: 10,
6 include_total_count: false,
7});

参数

accountId: Frameio.FrameOrAdobeId

request: Frameio.AccountProjectsIndexRequest

requestOptions: Projects.RequestOptions

列出当前用户在指定帐户内受邀参与但没有工作区级别访问权限的项目。这些是用户拥有项目专属的协作者访问权限,但不具备更广泛的团队/工作区权限的项目。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.projects.invitedProjectsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "owner",
3 sort: "name_asc",
4 after: "<opaque_cursor>",
5 page_size: 10,
6 include_total_count: false,
7});

参数

accountId: Frameio.FrameOrAdobeId

request: Frameio.InvitedProjectsIndexRequest

requestOptions: Projects.RequestOptions

搜索

搜索帐户内的资产、文件夹和项目

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.search.search("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 engine: "nlp",
3 query: "red car driving on highway",
4 filters: {
5 files_and_version_stacks: true,
6 folders: false,
7 projects: false,
8 },
9 after: "<opaque_cursor>",
10 page_size: 10,
11 include_total_count: false,
12});

参数

accountId: Frameio.Uuid

request: Frameio.SearchParams

requestOptions: Search.RequestOptions

共享

显示单个共享项。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.shares.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

shareId: Frameio.Uuid

requestOptions: Shares.RequestOptions

删除共享项。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.shares.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

shareId: Frameio.Uuid

requestOptions: Shares.RequestOptions

更新共享项。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.shares.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 access: "public",
4 description: "A descriptive summary of the share",
5 downloading_enabled: true,
6 expiration: "2026-01-22T17:04:53Z",
7 name: "Share Name",
8 passphrase: "as!dfj39sd(*",
9 },
10});

参数

accountId: Frameio.Uuid

shareId: Frameio.Uuid

request: Frameio.UpdateShareParams

requestOptions: Shares.RequestOptions

列出共享审阅者。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1const response = await client.shares.listReviewers(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 {
5 after: "<opaque_cursor>",
6 page_size: 10,
7 include_total_count: false,
8 },
9);
10for await (const item of response) {
11 console.log(item);
12}
13
14// Or you can manually iterate page-by-page
15let page = await client.shares.listReviewers(
16 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
17 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
18 {
19 after: "<opaque_cursor>",
20 page_size: 10,
21 include_total_count: false,
22 },
23);
24while (page.hasNextPage()) {
25 page = page.getNextPage();
26}

参数

accountId: Frameio.Uuid

shareId: Frameio.Uuid

request: Frameio.SharesListReviewersRequestreParams

requestOptions: Shares.RequestOptions

通过三种标识符类型为安全共享添加审阅者:adobe_user_idemailuser_id

一个请求只能包含一种标识符类型的参数。

对于在共享项所属帐户下没有 Frame 帐户成员身份的用户,email 是将其添加为审阅者的唯一标识符。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.shares.addReviewers("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 message: "Please join my share!",
4 reviewers: {
5 emails: ["email1@domain.com", "email2@domain.com"],
6 },
7 },
8});

参数

accountId: Frameio.Uuid

shareId: Frameio.Uuid

request: Frameio.AddReviewersToShareParams

requestOptions: Shares.RequestOptions

通过三种标识符类型从安全共享中移除审阅者:adobe_user_idemailuser_id

一个请求只能包含一种标识符类型的参数。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.shares.removeReviewers("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 reviewers: {
4 adobe_user_ids: ["2A3C1A3D66C621B20A494021@176719f5667c82b4499999.e"],
5 },
6 },
7});

参数

accountId: Frameio.Uuid

shareId: Frameio.Uuid

request: Frameio.RemoveReviewerParams

requestOptions: Shares.RequestOptions

从该共享项中移除当前在共享项中的资产。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.shares.removeAsset(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
5);

参数

accountId: Frameio.Uuid

shareId: Frameio.Uuid

assetId: Frameio.Uuid

requestOptions: Shares.RequestOptions

添加新的资产共享。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.shares.addAsset("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 asset_id: "0cc1cb59-1d7c-4176-8532-afe099897318",
4 },
5});

参数

accountId: Frameio.Uuid

shareId: Frameio.Uuid

request: Frameio.AddAssetParams

requestOptions: Shares.RequestOptions

列出项目上的共享项。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1const response = await client.shares.index(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 {
5 after: "<opaque_cursor>",
6 page_size: 10,
7 include_total_count: false,
8 },
9);
10for await (const item of response) {
11 console.log(item);
12}
13
14// Or you can manually iterate page-by-page
15let page = await client.shares.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
16 after: "<opaque_cursor>",
17 page_size: 10,
18 include_total_count: false,
19});
20while (page.hasNextPage()) {
21 page = page.getNextPage();
22}

参数

accountId: Frameio.Uuid

shareId: Frameio.Uuid

request: Frameio.SharesIndexRequest

requestOptions: Shares.RequestOptions

创建共享项。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.shares.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 type: "asset",
4 access: "public",
5 asset_ids: ["12eb1446-5736-4f93-85fc-3b636f156211", "f23a3b3e-7b1f-4655-b91a-acf0566e5bb9"],
6 downloading_enabled: true,
7 expiration: "2026-01-22T17:04:53Z",
8 name: "Share Name",
9 passphrase: "as!dfj39sd(*",
10 },
11});

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

request: Frameio.CreateShareParams

requestOptions: Shares.RequestOptions

用户

检查与持有者令牌关联的用户详细信息。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.users.show();

参数

requestOptions: Users.RequestOptions

版本堆栈

列出给定版本堆栈中的次项(文件)。

使用 include 查询参数选择性地在响应中包含其他属性。

如果您包含 media_links.original且用户无权下载相应项目中的文件,则此端点将响应403 Forbidden错误。 如果由于该用户需要水印而请求的 media_links 不支持水印,导致内容无法访问,则请求将成功,但不支持的媒体链接将被设置为 null。 同样,如果请求的转码链接对于特定文件不存在(例如,在静态图像文件中包含media_links.video_h264_180)或者转码过程尚未完成(即文件的状态为“已上传”而不是“已转码”),则响应负载中的媒体链接也将被设置为 null。 简而言之,客户端必须妥善处理 null 媒体链接。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.versionStacks.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "media_links",
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});

参数

accountId: Frameio.Uuid

projectId: Frameio.Uuid

request: Frameio.VersionStacksIndexRequest

requestOptions: VersionStacks.RequestOptions

显示版本堆栈详细信息。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.versionStacks.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "media_links",
3});

参数

accountId: Frameio.Uuid

versionStackId: Frameio.Uuid

request: Frameio.VersionStacksShowRequest

requestOptions: VersionStacks.RequestOptions

复制版本堆栈。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.versionStacks.copy("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 copy_metadata: true,
3 data: {
4 parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
5 },
6});

参数

accountId: Frameio.Uuid

versionStackId: Frameio.Uuid

request: Frameio.VersionStackCopyParams

requestOptions: VersionStacks.RequestOptions

列出给定文件夹中的版本堆栈。

速率限制:每个 account_user 每 1 秒钟 5 次调用

usage
1await client.versionStacks.list("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "media_links",
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.VersionStacksListRequest

requestOptions: VersionStacks.RequestOptions

在父文件夹下创建新的版本堆栈。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.versionStacks.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 file_ids: ["dd2a3cdd-fc90-41bd-a7b8-8a0447aec6d4", "79fed48a-8372-496e-8dcb-5e959b9b9fcf"],
4 },
5});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.VersionStackCreateParams

requestOptions: VersionStacks.RequestOptions

将版本堆栈移动到另一个文件夹。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.versionStacks.move("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
4 },
5});

参数

accountId: Frameio.Uuid

folderId: Frameio.Uuid

request: Frameio.VersionStackMoveParams

requestOptions: VersionStacks.RequestOptions

Webhook

列出给定工作区的 Webhook。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1const response = await client.webhooks.index(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 {
5 include: "creator",
6 after: "<opaque_cursor>",
7 page_size: 10,
8 include_total_count: false,
9 },
10);
11for await (const item of response) {
12 console.log(item);
13}
14
15// Or you can manually iterate page-by-page
16let page = await client.webhooks.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
17 include: "creator",
18 after: "<opaque_cursor>",
19 page_size: 10,
20 include_total_count: false,
21});
22while (page.hasNextPage()) {
23 page = page.getNextPage();
24}

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

request: Frameio.WebhooksIndexRequest

requestOptions: Webhooks.RequestOptions

创建包含密钥的单个 Webhook。

有效事件:

file.created, file.deleted, file.ready, file.updated, file.upload.completed, file.versioned, file.copied, folder.created, folder.deleted, folder.updated, folder.copied, comment.completed, comment.created, comment.deleted, comment.uncompleted, comment.updated, customfield.created, customfield.updated, customfield.deleted, metadata.value.updated, project.created, project.deleted, project.updated, collection.created, collection.updated, collection.deleted, share.created, share.updated, share.deleted, share.viewed

速率限制:每个帐户 每 1.00 分钟 10 次调用

usage
1await client.webhooks.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 events: [
4 "file.created",
5 "file.deleted",
6 "file.ready",
7 "file.updated",
8 "file.upload.completed",
9 "file.versioned",
10 "file.copied",
11 "folder.created",
12 "folder.deleted",
13 "folder.updated",
14 "folder.copied",
15 "comment.completed",
16 "comment.created",
17 "comment.deleted",
18 "comment.uncompleted",
19 "comment.updated",
20 "customfield.created",
21 "customfield.updated",
22 "customfield.deleted",
23 "metadata.value.updated",
24 "project.created",
25 "project.deleted",
26 "project.updated",
27 "collection.created",
28 "collection.updated",
29 "collection.deleted",
30 "share.created",
31 "share.updated",
32 "share.deleted",
33 "share.viewed",
34 ],
35 name: "New Webhook",
36 url: "https://url.example.com",
37 },
38});

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

request: Frameio.WebhookCreateParams

requestOptions: Webhooks.RequestOptions

显示 Webhook 详细信息。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.webhooks.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3});

参数

accountId: Frameio.Uuid

webhookId: Frameio.Uuid

request: Frameio.WebhooksShowRequest

requestOptions: Webhooks.RequestOptions

删除 Webhook。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.webhooks.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

webhookId: Frameio.Uuid

requestOptions: Webhooks.RequestOptions

更新 Webhook 详细信息。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.webhooks.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 active: true,
4 events: [
5 "file.created",
6 "file.deleted",
7 "file.ready",
8 "file.updated",
9 "file.upload.completed",
10 "file.versioned",
11 "file.copied",
12 "folder.created",
13 "folder.deleted",
14 "folder.updated",
15 "folder.copied",
16 "comment.completed",
17 "comment.created",
18 "comment.deleted",
19 "comment.uncompleted",
20 "comment.updated",
21 "customfield.created",
22 "customfield.updated",
23 "customfield.deleted",
24 "metadata.value.updated",
25 "project.created",
26 "project.deleted",
27 "project.updated",
28 "collection.created",
29 "collection.updated",
30 "collection.deleted",
31 "share.created",
32 "share.updated",
33 "share.deleted",
34 "share.viewed",
35 ],
36 name: "Updated Webhook",
37 url: "https://url.example.com",
38 },
39});

参数

accountId: Frameio.Uuid

webhookId: Frameio.Uuid

request: Frameio.WebhookUpdateParams

requestOptions: Webhooks.RequestOptions

工作区权限

列出给定工作区的用户角色。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1const response = await client.workspacePermissions.index(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 {
5 include_deactivated: true,
6 after: "<opaque_cursor>",
7 page_size: 10,
8 include_total_count: false,
9 },
10);
11for await (const item of response) {
12 console.log(item);
13}
14
15// Or you can manually iterate page-by-page
16let page = await client.workspacePermissions.index(
17 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
18 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
19 {
20 include_deactivated: true,
21 after: "<opaque_cursor>",
22 page_size: 10,
23 include_total_count: false,
24 },
25);
26while (page.hasNextPage()) {
27 page = page.getNextPage();
28}

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

request: Frameio.WorkspacePermissionsIndexRequest

requestOptions: WorkspacePermissions.RequestOptions

从给定工作区中移除用户。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.workspacePermissions.workspaceUserRolesDelete(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
5);

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

userId: Frameio.Uuid

requestOptions: WorkspacePermissions.RequestOptions

如果用户已添加到工作区,则更新给定工作区的用户角色。 如果用户未添加到工作区,则会添加该用户并分配给定角色。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.workspacePermissions.workspaceUserRolesUpdate(
2 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
3 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
4 "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
5 {
6 data: {
7 role: "editor",
8 },
9 },
10);

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

userId: Frameio.Uuid

request: Frameio.UpdateUserRolesParams

requestOptions: WorkspacePermissions.RequestOptions

工作区

显示工作区详细信息。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1await client.workspaces.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3});

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

request: Frameio.WorkspacesShowRequest

requestOptions: Workspaces.RequestOptions

从帐户中删除工作区。

速率限制:每个 account_user 每 1.00 分钟 60 次调用

usage
1await client.workspaces.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

requestOptions: Workspaces.RequestOptions

更新工作区。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.workspaces.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 name: "My Workspace",
4 },
5});

参数

accountId: Frameio.Uuid

workspaceId: Frameio.Uuid

request: Frameio.WorkspaceParams

requestOptions: Workspaces.RequestOptions

列出给定帐户的工作区。

速率限制:每个 account_user 每 1.00 分钟 100 次调用

usage
1const response = await client.workspaces.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 include: "creator",
3 after: "<opaque_cursor>",
4 page_size: 10,
5 include_total_count: false,
6});
7for await (const item of response) {
8 console.log(item);
9}
10
11// Or you can manually iterate page-by-page
12let page = await client.workspaces.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
13 include: "creator",
14 after: "<opaque_cursor>",
15 page_size: 10,
16 include_total_count: false,
17});
18while (page.hasNextPage()) {
19 page = page.getNextPage();
20}

参数

accountId: Frameio.Uuid

request: Frameio.WorkspacesIndexRequest

requestOptions: Workspaces.RequestOptions

从帐户创建工作区。

速率限制:每个 account_user 每 1.00 分钟 10 次调用

usage
1await client.workspaces.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
2 data: {
3 name: "My Workspace",
4 },
5});

参数

accountId: Frameio.Uuid

request: Frameio.WorkspaceParams

requestOptions: Workspaces.RequestOptions


npm

npm 上查看