Skip to content

douyin hashtag search 仍然报 JSON parse failed(与 #1405 同根因,已关闭但未真修复) #2205

Description

@jjdoor

Bug 描述

opencli douyin hashtag search --keyword <关键词> 仍然失败,报 COMMAND_EXEC: JSON parse failed: Unexpected end of JSON input

这和 #1405(2026-05-10 关闭,无回复评论)是同一个根因,但在当前最新版本上依然复现,看起来之前是被自动关闭而不是真的修复。

复现步骤

opencli douyin hashtag search --keyword "猫咪" --limit 5 -f yaml

实际输出

ok: false
error:
  code: COMMAND_EXEC
  message: >-
    Douyin API error -2 at GET
    https://creator.douyin.com/aweme/v1/challenge/search/?keyword=%E7%8C%AB%E5%92%AA&count=5&aid=1128: JSON parse
    failed: Unexpected end of JSON input
  exitCode: 1

排除了登录问题

先怀疑是 creator.douyin.com 没登录,专门去 https://creator.douyin.com/creator-micro/home 确认账号已登录(正常显示粉丝数/关注数等数据),重跑命令报错完全一致。同账号下 opencli douyin hashtag hot(热点词榜,不需要 --keyword)正常返回数据,说明 creator.douyin.com 的会话本身没问题,问题精确定位在 /aweme/v1/challenge/search/ 这个端点。

根因(与 #1405 一致)

/aweme/v1/challenge/search/ 接口返回 HTTP 200 但响应体为空,clis/douyin/_shared/browser-fetch.js 里对空 body 直接 res.json()/JSON.parse(""),没有空响应保护,抛出 Unexpected end of JSON input#1405 已经给出了具体修复建议(先 res.text() 判空再 parse),但看起来没有真正合入。

环境信息

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions