本文作者:99ANYc3cd6

小红书接口对接文档中,各接口的请求参数、返回字段及错误码具体含义如何?是否提供完整的调试流程与示例代码?

99ANYc3cd6 01-30 12
小红书接口对接文档中,各接口的请求参数、返回字段及错误码具体含义如何?是否提供完整的调试流程与示例代码?摘要: 小红书开放平台接口对接文档本文档旨在指导开发者如何接入小红书开放平台的API接口,通过调用接口获取小红书平台内的公开数据(如笔记信息、用户信息等)或实现小红书登录分享等功能,1 核...

小红书开放平台接口对接文档

本文档旨在指导开发者如何接入小红书开放平台的API接口,通过调用接口获取小红书平台内的公开数据(如笔记信息、用户信息等)或实现小红书登录分享等功能。

小红书接口对接文档中,各接口的请求参数、返回字段及错误码具体含义如何?是否提供完整的调试流程与示例代码?
(图片来源网络,侵删)

1 核心概念

  • 开放平台: 小红书为第三方开发者提供API服务的统一入口。
  • 开发者: 指希望接入小红书API的第三方应用或服务的开发者。
  • 应用: 指开发者创建的、用于调用小红书API的项目,每个应用都有一个唯一的AppID和AppSecret。
  • Access Token (访问令牌): 用于验证开发者身份和授权的凭证,调用绝大多数API都需要携带有效的Access Token。
  • 授权码: 用户授权后,开放平台返回给应用的一个一次性凭证,用于换取Access Token。
  • Scope (权限范围): 应用需要申请的用户数据权限,如snssdk1234(获取用户公开信息)等,用户授权时,会看到应用请求的权限列表。

2 应用场景

  • 第三方登录: 允许用户使用小红书账号登录你的网站或App。
  • 内容获取: 获取小红书上的公开笔记、用户信息等数据,用于内容聚合、数据分析等。
  • 内容分享: 引导用户将内容分享到小红书。
  • 商业合作: 通过API获取创作者数据,辅助品牌方进行KOL/KOC筛选。

申请流程

在开始对接前,你必须在小红书开放平台完成开发者资质审核和应用创建。

  1. 注册账号: 访问 小红书开放平台,使用你的小红书账号登录或注册一个新账号。
  2. 成为开发者: 根据平台指引完成开发者认证,通常需要提供个人或企业信息。
  3. 创建应用:
    • 登录开放平台后台,进入“应用管理”。
    • 点击“创建应用”,选择应用类型(如网站应用、移动App等)。
    • 填写应用名称、应用域名(网站应用)、回调地址等基本信息。
    • 提交审核,等待平台审核通过。
  4. 获取凭证: 审核通过后,你可以在应用详情页找到关键的 AppIDAppSecret,请妥善保管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_tokenrefresh_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 服务器内部错误 稍后重试,或联系小红书技术支持。

接入注意事项

  1. 频率限制: 小红书API有严格的调用频率限制(每分钟/每小时最多调用多少次),请在代码中做好限流处理,避免因超频导致接口被封禁。
  2. 数据缓存: 对于不经常变化的数据(如用户信息),建议在你的服务端进行缓存,以减少对API的依赖,提高响应速度。
  3. 异步处理: 对于耗时较长的操作(如批量获取数据),应考虑使用异步任务或消息队列,避免阻塞主线程。
  4. 安全合规:
    • 保护AppSecret: AppSecret是最高级别的机密,绝不能泄露在前端代码或公网环境中。
    • 用户隐私: 严格遵守《网络安全法》和用户隐私保护政策,明确告知用户数据用途,并获得用户授权。
    • 内容合规: 获取的数据不得用于违法违规用途,不得侵犯小红书及用户的合法权益。
  5. 回调地址: 回调地址必须在开放平台后台预先配置好,且必须与请求中的redirect_uri完全一致(包括协议、域名、路径)。

调试与测试

  • 开发者工具: 小红书开放平台通常会提供开发者工具,可以模拟API调用,方便调试。
  • 日志记录: 详细记录API请求和响应的日志,特别是错误日志,有助于快速定位问题。
  • 沙箱环境: 如果平台提供沙箱环境,请在沙箱环境中完成所有测试,确认功能无误后再切换到生产环境。

官方资源

  • 小红书开放平台官网: https://open.xiaohongshu.com/
  • API文档中心: 登录开放平台后,在“开发文档”或“API文档”栏目中查找最新的接口规范和变更。
  • 开发者社区/论坛: 寻找官方或非官方的开发者交流群,获取帮助和最佳实践。

免责声明: 本文档基于通用的小红书开放平台架构编写,具体接口的URL、参数和返回值可能会有变动,请务必以小红书开放平台官方文档为准。

文章版权及转载声明

作者:99ANYc3cd6本文地址:https://chumoping.net/post/21899.html发布于 01-30
文章转载或复制请以超链接形式并注明出处初梦运营网

阅读
分享