Developer API
V2

认证与权限

了解 Bearer Token、可用 scope、公共路由和常见鉴权失败原因。

认证与权限

V2 API 使用 Bearer Token 认证。所有需要鉴权的请求都要在请求头里带上:

Authorization: Bearer <token>

注意这里的格式是严格的 Bearer <token>,不是 query 参数,也不是 body 字段。格式不正确的请求会直接返回认证错误。

公共路由与受保护路由

除公开元数据接口外,其他 /v2/* 路由都会要求先完成认证。对外公开、无需 token 的只有这两个路由:

路由说明
GET /v2/openapi.json返回当前 OpenAPI 文档
GET /v2/openapi/meta返回 OpenAPI 元数据,如 etag、生成时间和路径数量

除这两个路由之外,其他所有 /v2/* 请求都会先做认证检查。这意味着:

  • 没有 token 的请求会返回 401
  • token 无效、过期、工作区不存在或被禁用时会返回 401
  • 免费计划会返回 403
  • scope 不足时会返回 403

Token 类型

Integration token 和 OAuth token 使用同一种传递方式,客户端不需要用不同的 header 区分它们。二者都写成:

Authorization: Bearer <token>

FlowUs 会识别 token 类型,但这不会改变请求格式。

免费计划限制

如果 token 所属空间是免费计划,V2 API 会直接拒绝访问。个人免费版和团队免费版都会被判定为不可用,并返回 403

请求即使已经带上合法 token,也仍然可能因为空间计划类型而失败。

可用 scope

V2 API 支持的 scope 如下:

Scope说明
pages.read读取页面相关资源
pages.write创建、更新、删除页面或页面内容
blocks.read读取 block 或 block children
blocks.write修改 block 或追加 block children
databases.read读取数据库或执行数据库查询
databases.write创建、更新、删除数据库
users.read读取指定用户信息
users.email.read读取用户邮箱相关信息
search.read执行标准搜索或语义搜索

能力到 scope 的对应关系

FlowUs 会根据 token 对应的集成能力生成对外可见的 scope 列表。映射关系如下:

capability映射到的 scopes
readContentpages.readblocks.readdatabases.readsearch.read
insertContentupdateContentpages.writeblocks.writedatabases.write
readUserWithoutEmailusers.read
readUserWithEmailusers.email.read

映射结果会去重,所以同一个 scope 不会重复返回。

常见 401 / 403

  1. 先确认请求头是不是 Authorization: Bearer <token>,有没有漏掉 Bearer 或者多写空格。
  2. 再确认 token 是否有效,是否已经过期,是否确实属于当前空间。
  3. 如果返回的是 403,先看是不是免费计划。
  4. 如果不是免费计划,再核对当前路由是否需要额外 scope。
  5. GET /v2/users/me 本身只要求有效 token,不额外要求某个读写 scope,所以它通常适合用来先验证 token 是否可用;如果这里都失败,问题一般在认证层,而不是 scope 层。

相关文档