语雀如何使用API接口_语雀API接口使用解析
时间:2026-04-20 | 作者:318050 | 阅读:0一、获取并配置有效的 x-auth-token
想通过程序调用语雀的接口?第一步,也是绕不开的一步,就是搞定身份认证。
语雀的所有受保护接口,都要求在请求头里带上一个叫 x-auth-token 的凭证。没有它,或者它失效了,服务器只会回你一个 401 Unauthorized 错误。
获取令牌的步骤
这个关键的令牌从哪里来呢?操作路径很清晰:
- 登录语雀官网,点击页面右上角的个人头像,进入「个人设置」。
- 在左侧菜单栏里,找到并点击「API 令牌」选项。
- 点击「创建新令牌」按钮。你需要为令牌起名,并根据需求勾选权限范围。如果只是读取文档,建议至少勾选 read:repo 和 read:doc。
- 点击确认后,页面上会显示一串 Token 字符串。
请务必立即复制并妥善保存这串字符。页面一旦刷新,你就再也看不到它了。
二、构造符合规范的 HTTP 请求头与参数
拿到了通行证,接下来就得学会“敲门”的规矩。语雀的 API 对请求格式有明确要求,参数不对路,很可能收到 400 Bad Request 错误。
构造请求头
你需要确保每个请求都包含以下两个字段:
- "User-Agent":填写你的应用名称和版本,例如 "my-backup-tool/1.0"。
- "x-auth-token":填入你上一步复制保存的那串令牌。
参数传递方法
参数传递也得讲究方法:
- 对于 GET 请求,你需要把查询参数进行 URL 编码,然后拼接在请求地址的末尾。
- 对于 POST 请求,请求体必须是标准的 application/json 格式,并且 JSON 里的字段名要和官方文档的定义一字不差。
例如,在路径参数里,你得用 slug,而不是想当然地用 id。
三、调用文档搜索接口定位目标文档
如果你的知识库里文档成百上千,想精准找到某一篇,或者想批量处理某些文档,搜索接口就是你的好帮手。
它能帮你在指定的知识库里按关键词筛选,返回的列表里包含了每篇文档的 slug、标题、更新时间等关键信息。
调用方法
具体该怎么调用呢?
- 请求的 URL 是固定的:https://www.yuque.com/api/v2/search。
- 设置查询参数时,有几个关键点:
- scope 参数必须填写完整的知识库路径(格式如 username/repo_name)。
- q 参数填你的搜索关键词(记得做 UTF-8 编码)。
- type 参数固定填写为 doc。
- 发起 GET 请求后,先检查响应状态码是不是 200。确认成功后再去解析 response.json().data.items 这个数组。
- 从每个条目中,提取出 slug 这个字段的值。这个字符串是下一步获取文档完整内容的钥匙。
四、获取单篇文档的完整内容
拿到了文档的 slug,就好比拿到了具体房间的房号,现在可以进去一探究竟了。
通过这个接口,你可以获取到文档的完整结构化内容,包括标题、原始的 Markdown 正文、渲染后的 HTML、创建者、更新时间等。
调用步骤
调用步骤很直接:
- 构造请求 URL:https://www.yuque.com/api/v2/repos/{namespace}/{slug}。这里需要替换两个变量:
- {namespace} 是知识库路径(不含域名部分)。
- {slug} 就是上一步拿到的那把“钥匙”。
- 确保你的请求头里已经正确配置好了 x-auth-token 和 User-Agent。
- 发送 GET 请求。当响应状态码 status_code 等于 200 时,就可以从 response.json().data.body 字段中读取到原始的 Markdown 文本了。
这里有个实用的细节:
接口返回的 body_html 字段虽然方便,但里面包含了语雀私有的样式类名(比如 yuque-content)。如果你需要干净、通用的 HTML,建议还是使用 body 字段的 Markdown 原文,然后用一个标准的 Markdown 渲染器来处理。
五、使用官方 SDK 简化调用流程
如果你是在 Node.js 环境下开发,觉得手动构造 HTTP 请求、处理头信息、管理分页太繁琐,那么语雀官方提供的 SDK (@yuque/sdk) 能让你事半功倍。
它帮你封装了底层细节,让调用过程更简洁。
使用步骤
怎么用呢?分四步走:
- 首先,在项目根目录下执行 npm install @yuque/sdk 安装这个依赖包。
- 接着,在代码里初始化客户端:const client = new SDK({ token: 'your_token_here' }),记得把令牌替换成你自己的。
- 然后,就可以愉快地调用封装好的方法了。比如:
- 用 client.repos.list() 获取知识库列表。
- 用 client.docs.get({ repo_id, slug }) 获取某篇文档的详情。
- 这些方法返回的都是 Promise 对象,所以你需要用 async/await 或者 .then() 来处理异步响应。
另一个好处是,错误处理也统一了:
所有错误都会抛出 SDKError 实例,你可以通过检查 error.code 来区分是网络问题、权限不足还是参数有误。
来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 语雀app分割线添加教程
- 时间:2026-04-23
-
- 语雀app邮箱绑定教程
- 时间:2026-04-23
-
- 语雀app查看收藏入口
- 时间:2026-04-23
-
- 语雀app账号注销步骤
- 时间:2026-04-23
-
- 语雀app小记创建教程
- 时间:2026-04-23
-
- 语雀怎么修改帐号密码?-语雀修改帐号密码的方法
- 时间:2026-04-21
-
- 语雀如何导出文档为Markdown_语雀导出文档为Markdown实践
- 时间:2026-04-20
-
- 语雀如何解决文档加载缓慢_语雀文档加载缓慢解决攻略
- 时间:2026-04-20
精选合集
更多大家都在玩
大家都在看
更多-
- 时空猎人觉醒下载地址
- 时间:2026-04-24
-
- 《最后的天空》连线大师成就指南
- 时间:2026-04-24
-
- 魔兽世界进军奎尔丹纳斯任务攻略
- 时间:2026-04-24
-
- 望月新手教程合辑
- 时间:2026-04-24
-
- 迷你世界各种物品介绍大全
- 时间:2026-04-24
-
- 王者荣耀王者之弈张宝强度分析
- 时间:2026-04-24
-
- 经观手机版如何新增发票信息-经观手机版新增发票信息的设置方法
- 时间:2026-04-24
-
- 《崩坏 星穹铁道》绯英技能解析
- 时间:2026-04-24
