小红书笔记详情API接口基础解析:数据结构与调用方式

小红书笔记详情API接口基础解析:数据结构与调用方式

小红书笔记详情 API 接口基础解析:数据结构与调用方式

小红书笔记详情 API 是面向官方合作方 / 授权开发者提供笔记核心数据的标准化接口,主要用于合规场景下的内容展示、数据分析(需授权)等需求。该接口的设计围绕数据标准化、权限管控、内容合规三大核心,其数据结构与调用方式具有鲜明的内容社区属性。

一、接口基础信息

1. 接口访问前提

  • 权限限制:小红书笔记详情 API不对外开放,仅对通过企业资质审核的合作方(如品牌服务商、合规内容平台)开放,个人开发者无法申请。
  • 调用协议:支持 HTTPS 协议,保障数据传输安全;高并发场景可申请 gRPC 协议支持。
  • 请求方式:以 GET 为主(只读查询),部分带用户个性化参数的请求支持 POST
  • 数据格式:默认返回 JSON 格式,支持 Protobuf 二进制格式(需申请开通,传输效率更高)。

2. 核心鉴权方式

小红书 API 采用双重鉴权机制,防止非法调用:

  1. 基础鉴权AppKey + AppSecret 签名机制
    • 开发者通过官方平台获取 AppKey(应用标识)和 AppSecret(密钥)。
    • 请求时需对参数按规则排序,通过 HMAC-SHA256 算法生成签名(sign 参数),服务端校验签名有效性。
    • 签名参数必须包含 timestamp(时间戳),且时间戳与服务器时间偏差不超过 ±5 分钟,防止重放攻击。
  2. 用户级鉴权OAuth2.0 令牌机制
    • 若需获取笔记的个性化数据(如用户是否点赞、收藏该笔记),需通过用户授权获取 access_token,并在请求头中携带。

二、核心数据结构

小红书笔记详情 API 返回的数据结构包含基础信息、内容信息、互动信息、作者信息四大模块,字段设计兼顾内容展示与合规要求。以下是标准化的 JSON 数据结构示例及字段说明:

json

{ "code": 0, "msg": "success", "data": { "note_id": "648a7b2f0000000012345678", // 笔记唯一标识 "title": "夏日清爽穿搭指南 | 平价T恤分享", // 笔记标题 "desc": "这几件T恤真的巨舒服!均价50r,学生党冲...", // 笔记短描述 "content": "<p>哈喽姐妹们👋 今天给大家分享...</p>", // 富文本详情(HTML格式) "create_time": 1719984000, // 发布时间(时间戳) "update_time": 1719985200, // 最后更新时间 "note_type": "normal", // 笔记类型:normal-普通笔记/video-视频笔记/live-直播回放 "category": "fashion", // 内容分类:fashion-时尚/food-美食/beauty-美妆等 "tags": ["夏日穿搭", "平价T恤", "学生党"], // 笔记标签 "media": { // 媒体资源 "images": [ // 图片列表(图文笔记) "https://xxx.xiaohongshu.com/xxx/1.jpg", "https://xxx.xiaohongshu.com/xxx/2.jpg" ], "video": { // 视频信息(视频笔记) "play_url": "https://xxx.xiaohongshu.com/xxx/video.mp4", "cover_url": "https://xxx.xiaohongshu.com/xxx/cover.jpg", "duration": 15.5 // 视频时长(秒) } }, "author": { // 作者信息(脱敏处理) "user_id": "12345678", // 作者ID "nickname": "穿搭小能手", // 作者昵称 "avatar": "https://xxx.xiaohongshu.com/xxx/avatar.jpg", // 头像 "level": 5, // 作者等级 "is_verified": true // 是否为认证用户 }, "interaction": { // 互动数据 "like_count": 12580, // 点赞数 "collect_count": 3620, // 收藏数 "comment_count": 890, // 评论数 "share_count": 120 // 分享数 }, "location": { // 地理信息(可选) "name": "上海市徐汇区", "latitude": 31.197, "longitude": 121.436 }, "status": "published", // 笔记状态:published-已发布/draft-草稿/deleted-已删除 "is_commercial": false // 是否为商业笔记 } } 

关键字段说明

模块核心字段字段用途
基础信息note_id、title笔记唯一标识与核心标题,用于内容定位
内容信息content、media笔记正文(富文本)与媒体资源(图片 / 视频),是内容展示的核心
作者信息author(脱敏)仅返回公开信息,隐藏手机号、精确地址等隐私数据
互动信息like_count 等反映笔记热度,用于数据分析与内容推荐
合规字段is_commercial、status标识商业笔记与内容状态,防止违规内容传播

三、接口调用方式

1. 标准请求示例

(1)请求 URL

plaintext

https://openapi.xiaohongshu.com/v2/note/detail 
(2)请求参数

分为公共参数(所有接口必填)和业务参数(当前接口必填):

参数类型参数名说明
公共参数app_key应用唯一标识(官方分配)
公共参数sign签名值(通过 AppSecret 生成)
公共参数timestamp当前时间戳(秒级)
公共参数access_token用户授权令牌(非必填,仅个性化查询需要)
业务参数note_id笔记 ID(必填,需查询的笔记唯一标识)
(3)请求头示例

plaintext

Headers: { "Content-Type": "application/json", "User-Agent": "Xiaohongshu-OpenAPI-SDK/1.0.0" } 
(4)签名生成逻辑(Python 伪代码)

python

运行

import hashlib import hmac import time def generate_sign(app_secret, params): # 1. 按参数名ASCII升序排序 sorted_params = sorted(params.items(), key=lambda x: x[0]) # 2. 拼接为key=value格式的字符串 sign_str = "&".join([f"{k}={v}" for k, v in sorted_params]) # 3. 拼接AppSecret并生成HMAC-SHA256签名 sign = hmac.new(app_secret.encode("utf-8"), sign_str.encode("utf-8"), hashlib.sha256).hexdigest() return sign # 调用示例 params = { "app_key": "your_app_key", "note_id": "648a7b2f0000000012345678", "timestamp": str(int(time.time())) } sign = generate_sign("your_app_secret", params) params["sign"] = sign 

2. 响应处理

(1)成功响应

返回 code=0data 字段包含完整的笔记详情数据,示例见上文数据结构部分。

(2)常见错误响应
错误码错误信息原因分析与解决方案
1001app_key invalidAppKey 无效,检查是否为官方分配的有效密钥
1002sign verify failed签名错误,检查签名算法、参数排序是否正确
1003request frequency limit调用频率超限,降低请求 QPS 或申请提升限额
2001note_id invalid笔记 ID 不存在或已被删除
2002permission denied无权限访问该笔记(如私密笔记)

四、接口调用限制与合规要求

  1. 频率限制
    • AppKey日调用限额秒级 QPS 限制(如基础版 1000 次 / 日、10QPS),超出限制返回 1003 错误。
    • 禁止批量抓取笔记数据,仅允许按需查询单条笔记详情。
  2. 数据用途限制
    • 调用所得数据仅允许用于合作场景内的展示,禁止用于爬虫、竞品分析、数据贩卖等违规用途。
    • 引用笔记内容时需注明 “来源小红书”,并遵守平台版权规则。
  3. 隐私合规
    • 不得存储或传播作者的脱敏信息,不得通过接口数据反向识别用户身份。

是否需要我为你整理小红书笔记详情 API 的 Python 调用完整代码,或者补充不同笔记类型(图文 / 视频)的数据结构差异说明

Read more

Windows下载、安装并运行MinIO,访问WebUI界面

Windows下载、安装并运行MinIO,访问WebUI界面

MinIO MinIO 是一款基于 Apache License v2.0 开源协议的对象存储服务,兼容 Amazon S3 云存储服务接口,可用于存储海量非结构化数据(如图片、视频、日志文件等)。本教程针对 Windows 系统搭建本地 MinIO 服务,适合开发测试、小型项目部署场景。 下载MinIO 官网下载 访问MinIO中文官网或MinIO英文官网,根据读者的操作系统选择相应的操作系统版本点击MinIO Server/AIStor Server和MinIO Client/AIStor Client的Download按钮下载对应文件。 说明:两版官网域名不同,Server/Client 的文字标题有差异,但下载文件一致;中文官网下载速度更快,优先推荐。 网盘下载 通过网盘分享的文件:Minio 链接: https://pan.baidu.com/s/

By Ne0inhk
【数据结构】励志大厂版·初阶(复习+刷题)单链表

【数据结构】励志大厂版·初阶(复习+刷题)单链表

前引:此篇文章作为小编复习的记录,将快速回忆单链表的知识点,讲解单链表增删查找的实现,每个细节之处要注意的地方,解释为何这样设计。文章末尾包含了单链表算法题, 同样解释详细,借助题目再次巩固知识点,挑战实战应用,喜欢的伙伴们可以作为大家的复习资料,希望可以给个免费的一键三连哦!正文开始~ 目录 知识点速览 单链表实现 定义结构体 初始化 开辟节点 尾插  头插 尾删 头删  在指定位置之前插入 在指定位置之后插入 链表 OJ(1) 链表OJ(2) 链表OJ(3) 链表OJ(4) 链表OJ(5) 知识点速览 链表较顺序表而言的优点是地址不连续、空间利用率很高,同样属于线性结构,它的空间是一个个结构体,既可以存储数据,也通过指针存储下一个结构体的地址,实现链式结构,如下抽象理解: 单向不带头非循环链表是最简单的一种链表结构,单链表的实现,需要一个头指针指向第一个节点,然后再后面一个接一个的开辟其它节点,这里下面实现的时候再详细说,

By Ne0inhk
《前端文件下载实战:从原理到最佳实践》

《前端文件下载实战:从原理到最佳实践》

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[[email protected]] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? * 专栏导航: 码农阿豪系列专栏导航 面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️ Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻 Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡 全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀 目录 * 《前端文件下载实战:从原理到最佳实践》 * 引言 * 一、需求背景与初始实现 * 1.1 业务需求 * 1.2 初始后端实现 * 1.3

By Ne0inhk
35道常见的前端vue面试题,零基础入门到精通,收藏这篇就够了

35道常见的前端vue面试题,零基础入门到精通,收藏这篇就够了

来源 | https://segmentfault.com/a/1190000021936876 今天这篇文章给大家分享一些常见的前端vue面试题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 对于前端来说,尽管css、html、js是主要的基础知识,但是随着技术的不断发展,出现了很多优秀的mv*框架以及小程序框架。因此,对于前端开发者而言,需要对一些前端框架进行熟练掌握。这篇文章我们一起来聊一聊VUE及全家桶的常见面试问题。 1、请讲述下VUE的MVVM的理解? MVVM 是 Model-View-ViewModel的缩写,即将数据模型与数据表现层通过数据驱动进行分离,从而只需要关系数据模型的开发,而不需要考虑页面的表现,具体说来如下: Model代表数据模型:主要用于定义数据和操作的业务逻辑。 View代表页面展示组件(即dom展现形式):负责将数据模型转化成UI 展现出来。 ViewModel为model和view之间的桥梁:监听模型数据的改变和控制视图行为、处理用户交互。通过双向数据绑定把 View 层和 Model 层连接了起来,而View

By Ne0inhk