Bootstrap

使用 postman 测试思源笔记接口

思源笔记 API 权鉴

官方文档-中文:https://github.com/siyuan-note/siyuan/blob/master/API_zh_CN.md
权鉴相关介绍截图:

对应的xxx,在软件中查看

如上图:在每次发送 API 请求时,需要在 Header 中添加 以下键值对:

这种权鉴 Header 有别于规范的 Header,是一种特殊的定制化的 Header(和 Bearer token 有点像,但是 Bearer token 使用的标识符是 Bearer 而不是 Token)。使用 Postman 进行接口测试时,无法使用现成的权鉴方式

解决方法:
Postman 支持强大的脚本功能,可在请求执行前后执行自定义脚本
因此可以在整个 collection 中编写自定义脚本,自定义脚本中拼接需要的权鉴键值对

  • 创建环境变量,变量名为siyuan_token

  • 为整个 Collection 创建全局脚本
    选择整个 collection(我这里建的名称为 siyuan),找到 Script – Pre-request(脚本 – 请求前脚本)
    添加以下代码 参考文档:https://blog.csdn.net/qq_31521561/article/details/134915534

    // 从环境变量中获取 token (XXX)
    const token_raw = pm.environment.get("siyuan-token");
    
    // 向 Header 中手动添加字段:Authorization: Token XXX
    pm.request.headers.add({
        key:"Authorization",
        value:"Token ".concat(token_raw)
    })
    
  • collection 中的具体 API,权鉴方式都采用“继承上级文档的设置”

测试,查看请求发送的具体结果

可看到接口发送的 Header 中有刚才拼接的Authorization: Token XXX相关的字段,且成功返回值

;