小红书接口对接文档中,各接口的请求参数、返回字段及错误码具体含义如何?是否提供完整的调试流程与示例代码?
小红书开放平台接口对接文档
本文档旨在指导开发者如何接入小红书开放平台的API接口,通过调用接口获取小红书平台内的公开数据(如笔记信息、用户信息等)或实现小红书登录分享等功能。
1 核心概念
- 开放平台: 小红书为第三方开发者提供API服务的统一入口。
- 开发者: 指希望接入小红书API的第三方应用或服务的开发者。
- 应用: 指开发者创建的、用于调用小红书API的项目,每个应用都有一个唯一的AppID和AppSecret。
- Access Token (访问令牌): 用于验证开发者身份和授权的凭证,调用绝大多数API都需要携带有效的Access Token。
- 授权码: 用户授权后,开放平台返回给应用的一个一次性凭证,用于换取Access Token。
- Scope (权限范围): 应用需要申请的用户数据权限,如
snssdk1234(获取用户公开信息)等,用户授权时,会看到应用请求的权限列表。
2 应用场景
- 第三方登录: 允许用户使用小红书账号登录你的网站或App。
- 内容获取: 获取小红书上的公开笔记、用户信息等数据,用于内容聚合、数据分析等。
- 内容分享: 引导用户将内容分享到小红书。
- 商业合作: 通过API获取创作者数据,辅助品牌方进行KOL/KOC筛选。
申请流程
在开始对接前,你必须在小红书开放平台完成开发者资质审核和应用创建。
- 注册账号: 访问 小红书开放平台,使用你的小红书账号登录或注册一个新账号。
- 成为开发者: 根据平台指引完成开发者认证,通常需要提供个人或企业信息。
- 创建应用:
- 登录开放平台后台,进入“应用管理”。
- 点击“创建应用”,选择应用类型(如网站应用、移动App等)。
- 填写应用名称、应用域名(网站应用)、回调地址等基本信息。
- 提交审核,等待平台审核通过。
- 获取凭证: 审核通过后,你可以在应用详情页找到关键的 AppID 和 AppSecret,请妥善保管AppSecret,切勿泄露。
核心接口详解
1 授权登录流程 (OAuth 2.0)
这是获取用户信息和Access Token的基础流程,我们以授权码模式为例,这是最安全、最常用的模式。
流程图:
用户访问你的应用 -> 你的应用引导用户跳转至小红书授权页 -> 用户同意授权 -> 小红书重定向回你的回调地址并携带授权码 -> 你的服务端用授权码向小红书请求Access Token -> 小红书返回Access Token -> 你的服务端用Access Token获取用户信息
步骤详解:
第一步:引导用户授权
将用户重定向到小红书的授权页面。
请求URL:
https://www.xiaohongshu.com/oauth2/authorize
请求方法:
GET
请求参数:
| 参数名 | 是否必须 | 类型 | 描述 |
|---|---|---|---|
client_id |
是 | string | 你的AppID |
response_type |
是 | string | 固定为 code |
redirect_uri |
是 | string | 在应用后台配置的回调地址,必须URL编码 |
scope |
是 | string | 申请的权限范围,多个用逗号隔开,如 snssdk1234 |
state |
强烈建议 | string | 一个随机字符串,用于防止CSRF攻击,授权后原样返回 |
示例请求:
https://www.xiaohongshu.com/oauth2/authorize?
client_id=YOUR_APP_ID&
response_type=code&
redirect_uri=https%3A%2F%2Fwww.yourdomain.com%2Fcallback&
scope=snssdk1234&
state=xyzABC123
用户操作: 用户在小红书授权页面登录并点击“同意授权”。
第二步:接收授权码
用户同意后,小红书会将浏览器重定向到你在redirect_uri中设置的地址,并附带一个code参数。
回调URL示例:
https://www.yourdomain.com/callback?code=AUTHORIZATION_CODE&state=xyzABC123
code: 一次性授权码,有效期通常为10分钟。state: 你在第一步传入的随机字符串,用于验证请求的合法性。
第三步:通过授权码获取Access Token
你的后端服务器使用上一步获取的code,向小红书服务器请求Access Token。
请求URL:
https://www.xiaohongshu.com/oauth2/access_token
请求方法:
POST
请求参数 (Body Form Data):
| 参数名 | 是否必须 | 类型 | 描述 |
|---|---|---|---|
client_id |
是 | string | 你的AppID |
client_secret |
是 | string | 你的AppSecret |
grant_type |
是 | string | 固定为 authorization_code |
code |
是 | string | 第一步获取的授权码 |
redirect_uri |
是 | string | 与第一步的redirect_uri完全一致 |
示例请求 (使用cURL):
curl -X POST "https://www.xiaohongshu.com/oauth2/access_token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "client_id=YOUR_APP_ID" \ -d "client_secret=YOUR_APP_SECRET" \ -d "grant_type=authorization_code" \ -d "code=AUTHORIZATION_CODE" \ -d "redirect_uri=https://www.yourdomain.com/callback"
响应:
成功时返回JSON格式的数据:
{
"access_token": "ACCESS_TOKEN_STRING",
"expires_in": 2592000, // token有效期,单位:秒
"token_type": "Bearer",
"scope": "snssdk1234",
"refresh_token": "REFRESH_TOKEN_STRING" // 用于刷新Access Token
}
access_token: 调用API的核心凭证。expires_in: Access Token的有效期。refresh_token: 当Access Token过期后,使用它可以获取新的Access Token,无需用户重新授权。
2 Access Token 刷新
当Access Token过期时,可以使用refresh_token来获取新的Access Token,而无需用户重新授权。
请求URL:
https://www.xiaohongshu.com/oauth2/refresh_token
请求方法:
POST
请求参数 (Body Form Data):
| 参数名 | 是否必须 | 类型 | 描述 |
|---|---|---|---|
grant_type |
是 | string | 固定为 refresh_token |
refresh_token |
是 | string | 获取Access Token时返回的refresh_token |
client_id |
是 | string | 你的AppID |
响应:
响应结构与获取Access Token的响应类似,会返回一个新的access_token和refresh_token。
3 获取用户公开信息
在成功获取Access Token后,可以使用该接口获取授权用户的公开信息。
请求URL:
https://api.xiaohongshu.com/sns/v2/user/get
请求方法:
GET
请求头:
Authorization: Bearer YOUR_ACCESS_TOKEN
响应:
{
"code": 0,
"msg": "success",
"data": {
"user_id": "5f8d0d6d8f6b3a0001a1b2c3",
"nickname": "小红书用户",
"avatar": "https://sns-avatar-qc.xhscdn.com/...",
"gender": 2,
"level": 20,
"following_count": 350,
"follower_count": 1200
}
}
code: 0表示成功,非0表示失败。data: 用户信息对象。
4 获取公开笔记列表
获取指定用户的公开笔记列表。
请求URL:
https://api.xiaohongshu.com/sns/v2/note/list
请求方法:
GET
请求头:
Authorization: Bearer YOUR_ACCESS_TOKEN
请求参数:
| 参数名 | 是否必须 | 类型 | 描述 |
|---|---|---|---|
user_id |
是 | string | 目标用户的ID,可通过获取用户信息接口获得 |
page |
否 | int | 页码,从1开始 |
page_size |
否 | int | 每页数量,最大50 |
响应:
{
"code": 0,
"msg": "success",
"data": {
"total": 100,
"notes": [
{
"note_id": "6f8d0d6d8f6b3a0001a1b2c4",
"title": "我的夏日穿搭分享",
"cover": "https://sns-pic-qc.xhscdn.com/...",
"like_count": 5200,
"comment_count": 350,
"share_count": 180,
"create_time": 1628908800
},
// ... 更多笔记
]
}
}
错误码说明
API调用失败时,会返回错误信息,开发者需要根据错误码进行相应的处理。
| 错误码 | 说明 | 处理建议 |
|---|---|---|
400 |
请求参数错误 | 检查请求参数是否完整、格式是否正确。 |
401 |
未授权或Access Token无效/过期 | 检查Authorization头是否正确,或尝试使用refresh_token刷新token。 |
403 |
权限不足 | 检查请求的scope是否已获得用户授权。 |
404 |
资源不存在 | 检查请求的URL或资源ID(如user_id, note_id)是否正确。 |
429 |
请求频率超限 | 降低API调用频率,遵守接口调用频率限制。 |
500 |
服务器内部错误 | 稍后重试,或联系小红书技术支持。 |
接入注意事项
- 频率限制: 小红书API有严格的调用频率限制(每分钟/每小时最多调用多少次),请在代码中做好限流处理,避免因超频导致接口被封禁。
- 数据缓存: 对于不经常变化的数据(如用户信息),建议在你的服务端进行缓存,以减少对API的依赖,提高响应速度。
- 异步处理: 对于耗时较长的操作(如批量获取数据),应考虑使用异步任务或消息队列,避免阻塞主线程。
- 安全合规:
- 保护AppSecret: AppSecret是最高级别的机密,绝不能泄露在前端代码或公网环境中。
- 用户隐私: 严格遵守《网络安全法》和用户隐私保护政策,明确告知用户数据用途,并获得用户授权。
- 内容合规: 获取的数据不得用于违法违规用途,不得侵犯小红书及用户的合法权益。
- 回调地址: 回调地址必须在开放平台后台预先配置好,且必须与请求中的
redirect_uri完全一致(包括协议、域名、路径)。
调试与测试
- 开发者工具: 小红书开放平台通常会提供开发者工具,可以模拟API调用,方便调试。
- 日志记录: 详细记录API请求和响应的日志,特别是错误日志,有助于快速定位问题。
- 沙箱环境: 如果平台提供沙箱环境,请在沙箱环境中完成所有测试,确认功能无误后再切换到生产环境。
官方资源
- 小红书开放平台官网: https://open.xiaohongshu.com/
- API文档中心: 登录开放平台后,在“开发文档”或“API文档”栏目中查找最新的接口规范和变更。
- 开发者社区/论坛: 寻找官方或非官方的开发者交流群,获取帮助和最佳实践。
免责声明: 本文档基于通用的小红书开放平台架构编写,具体接口的URL、参数和返回值可能会有变动,请务必以小红书开放平台官方文档为准。
作者:99ANYc3cd6本文地址:https://chumoping.net/post/21899.html发布于 01-30
文章转载或复制请以超链接形式并注明出处初梦运营网



