WeChat-Channels-V2-API

获取视频号合集列表/Get WeChat Channels User Collections

Changed on

[中文]

用途:

  • 获取创作者主页的「合集」列表。每个合集的 topic_id 可传 fetch_collection_videos 取该合集内的视频。
  • 价格:0.01$/次
  • ⏱️ 由于微信服务器原因,本接口响应较慢,请将客户端请求超时(timeout)设置为 30 秒;timeout 设置过小会造成已扣费但收不到响应的情况。
  • ⚠️ 大整数 ID 精度:响应中的 topic_id 等为 64 位大整数,超出 JavaScript 安全整数范围(2^53-1)。请始终以字符串方式接收 / 传递这类 ID(解析 JSON 用 json-bigint 或按文本取值),勿让其经过 JS Number。Swagger UI 文档页对超大整数会末位舍入显示,属正常现象,不影响接口实际返回的数据。

参数:

  • username: 视频号 finder username(v2_…@finder 格式)。示例 v2_060000231003b20faec8c6e4811dc1d4c602ee30b0771bbcf220c67926bb76ab7702ac335a53@finder(人民日报)。
  • raw: 可选,默认 True。True=原始响应;False=精简解析结构。

返回:

  • 合集列表

响应结构与 JSON Path:

raw=false(精简,snake_case):

  • $.data.username —— finder username
  • $.data.count —— 合集总数(示例 6)
  • $.data.collections[] —— 合集数组,逐个(N 为下标):
    • $.data.collections[N].topic_id —— 合集 ID(纯数字,传 fetch_collection_videos,示例 14616794565351966924)
    • $.data.collections[N].name —— 合集名(如「早安中国」)
    • $.data.collections[N].desc —— 合集简介(可能为空串)
    • $.data.collections[N].cover_url —— 合集封面
    • $.data.collections[N].feed_count —— 合集内视频数
    • $.data.collections[N].topic_type —— 合集类型(示例 16,与 fetch_collection_videos 的 topic_type 对应)

raw=true(完整原始响应,camelCase):

  • $.data.collectionCount → count
  • $.data.collectionInfo[] → collections[],逐个:
    • $.data.collectionInfo[N].collectionTopicId → topic_id(数字;另有 collectionTopicIdStr 字符串别名)
    • $.data.collectionInfo[N].collectionName → name
    • $.data.collectionInfo[N].collectionDesc → desc
    • $.data.collectionInfo[N].coverImgUrl → cover_url
    • $.data.collectionInfo[N].feedCount → feed_count
    • $.data.collectionInfo[N].collectionTopicType → topic_type
    • 另含 lastUpdateTime / readCount / categoryId 等原始字段
  • $.data.lastBuffer —— 合集列表翻页游标(通常为空,合集数少不需翻页)

[English]

Purpose:

  • Get the "Collections" list on a creator's homepage. Pass each collection's topic_id to fetch_collection_videos to get its videos.
  • Price: $0.01 per request
  • ⏱️ Due to WeChat server latency, this endpoint responds slowly; please set your client request timeout to 30 seconds — a timeout that is too small may result in being billed without receiving the response.
  • ⚠️ Large-integer ID precision: IDs such as topic_id in the response are 64-bit big integers beyond JavaScript's safe-integer range (2^53-1). Always receive / pass such IDs as strings (parse JSON with json-bigint or read them as text), never through JS Number. Swagger UI rounds the trailing digits of huge integers in its docs view — this is expected and does not affect the actual data returned by the API.

Parameters:

  • username: WeChat Channels finder username (v2_…@finder format). E.g. v2_060000231003b20faec8c6e4811dc1d4c602ee30b0771bbcf220c67926bb76ab7702ac335a53@finder (People's Daily).
  • raw: Optional, default True. True=raw response; False=simplified parsed structure.

Return:

  • Collection list

Response structure & JSON Path:

raw=false (simplified, snake_case):

  • $.data.username — finder username
  • $.data.count — total collections (e.g. 6)
  • $.data.collections[] — collection array, per item (N is the index):
    • $.data.collections[N].topic_id — collection ID (numeric, pass to fetch_collection_videos, e.g. 14616794565351966924)
    • $.data.collections[N].name — collection name (e.g. "早安中国")
    • $.data.collections[N].desc — collection description (may be empty string)
    • $.data.collections[N].cover_url — collection cover
    • $.data.collections[N].feed_count — number of videos in the collection
    • $.data.collections[N].topic_type — collection type (e.g. 16, matches topic_type of fetch_collection_videos)

raw=true (full raw response, camelCase):

  • $.data.collectionCount → count
  • $.data.collectionInfo[] → collections[], per item:
    • $.data.collectionInfo[N].collectionTopicId → topic_id (number; collectionTopicIdStr provides a string alias)
    • $.data.collectionInfo[N].collectionName → name
    • $.data.collectionInfo[N].collectionDesc → desc
    • $.data.collectionInfo[N].coverImgUrl → cover_url
    • $.data.collectionInfo[N].feedCount → feed_count
    • $.data.collectionInfo[N].collectionTopicType → topic_type
    • Also raw fields like lastUpdateTime / readCount / categoryId
  • $.data.lastBuffer — pagination cursor of the collection list (usually empty; few collections, no pagination needed)
post/api/v1/wechat_channels/v2/fetch_user_collections

Request

  • Base URL
    https://api.tikhub.io (the document declares no server; this is the origin it was published from)
  • Auth
    HTTP bearer

Request body

usernamestring required

视频号 finder username(v2_…@finder 格式)/WeChat Channels finder username (v2_…@finder format)

rawboolean

True=原始响应;False=精简解析结构/True=raw response; False=simplified parsed structure

Example request

{
  "username": "v2_060000231003b20faec8c6e4811dc1d4c602ee30b0771bbcf220c67926bb76ab7702ac335a53@finder"
}

Response

Successful Response

codeinteger

HTTP status code | HTTP状态码

request_idstring nullable

Unique request identifier | 唯一请求标识符

messagestring

Response message (EN-US) | 响应消息 (English)

message_zhstring

Response message (ZH-CN) | 响应消息 (中文)

supportstring

Support message | 支持消息

timestring

The time the response was generated | 生成响应的时间

time_stampinteger

The timestamp the response was generated | 生成响应的时间戳

time_zonestring

The timezone of the response time | 响应时间的时区

docsstring nullable

Link to the API Swagger documentation for this endpoint | 此端点的 API Swagger 文档链接

cache_messagestring nullable

Cache message (EN-US) | 缓存消息 (English)

cache_message_zhstring nullable

Cache message (ZH-CN) | 缓存消息 (中文)

cache_urlstring nullable

The URL to access the cached result | 访问缓存结果的 URL

routerstring

The endpoint that generated this response | 生成此响应的端点

paramsunknown
dataunknown

Changes