api-config.json 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. {
  2. "name": "douyin-user-posts",
  3. "displayName": "抖音账号近期作品列表",
  4. "description": "根据 sec_user_id 获取抖音账号近期发布作品,用于对标账号监听和口播爆款内容拆解。已验证 user_id/sec_user_id 可返回近期作品。",
  5. "category": "douyin",
  6. "version": "0.1.0",
  7. "endpoint": {
  8. "method": "GET",
  9. "url": "https://server.fmode.cn/api/voc-social/douyin/app/v3/fetch_user_post_videos",
  10. "headers": {
  11. "Authorization": "Bearer ${vocToken}",
  12. "Accept": "application/json"
  13. }
  14. },
  15. "parameters": {
  16. "type": "object",
  17. "required": ["sec_user_id"],
  18. "properties": {
  19. "sec_user_id": {
  20. "type": "string",
  21. "description": "抖音账号 sec_user_id"
  22. },
  23. "max_cursor": {
  24. "type": "integer",
  25. "default": 0,
  26. "description": "翻页游标,首次请求传 0"
  27. },
  28. "count": {
  29. "type": "integer",
  30. "default": 10,
  31. "description": "单页作品数量"
  32. }
  33. }
  34. },
  35. "requestTransform": {
  36. "queryParams": {
  37. "sec_user_id": "{{sec_user_id}}",
  38. "max_cursor": "{{max_cursor}}",
  39. "count": "{{count}}"
  40. }
  41. },
  42. "response": {
  43. "type": "object",
  44. "description": "账号近期作品列表(顶层 {code, data},作品通常在 data.aweme_list 内)",
  45. "properties": {
  46. "code": { "type": "integer" },
  47. "data": {
  48. "type": "object",
  49. "properties": {
  50. "aweme_list": { "type": "array" },
  51. "has_more": { "type": "integer" },
  52. "max_cursor": { "type": "integer" }
  53. }
  54. }
  55. },
  56. "keyFields": {
  57. "data.aweme_list[].aweme_id": "作品 ID",
  58. "data.aweme_list[].desc": "作品描述",
  59. "data.aweme_list[].author.sec_uid": "作者 sec_user_id",
  60. "data.aweme_list[].author.nickname": "作者昵称",
  61. "data.aweme_list[].statistics.digg_count": "点赞数",
  62. "data.aweme_list[].statistics.comment_count": "评论数",
  63. "data.aweme_list[].statistics.share_count": "分享数",
  64. "data.aweme_list[].statistics.play_count": "播放数",
  65. "data.aweme_list[].create_time": "发布时间"
  66. }
  67. },
  68. "workflow": {
  69. "description": "推荐调用链",
  70. "steps": [
  71. "上游: 用户提供 sec_user_id,或 douyin-user-search(keyword) → 用户确认候选账号 → 取 user_id/sec_uid",
  72. "本步: douyin-user-posts(sec_user_id) → 拉取账号近期作品",
  73. "下游: douyin-video-detail / douyin-video-comments / douyin-comment-replies → 内容拆解与日报"
  74. ]
  75. },
  76. "timeout": 60000,
  77. "retry": { "maxAttempts": 2, "delay": 1500, "backoffMultiplier": 2 },
  78. "tokenConfig": {
  79. "type": "bearer",
  80. "configFile": "~/.openclaw/voc-credentials.json",
  81. "tokenField": "vocToken",
  82. "resolutionOrder": ["configFile"],
  83. "apigId": "Vo3ROWEvDy"
  84. },
  85. "verification": {
  86. "status": "verified",
  87. "source": "scripts/tools/probe-douyin-share.js uses TikHub /api/v1/douyin/app/v3/fetch_user_post_videos",
  88. "lastChecked": "2026-05-08",
  89. "note": "server.fmode.cn /api/voc-social/douyin/app/v3/fetch_user_post_videos with douyin-user-search user_id returned aweme_list successfully.",
  90. "hardStopOnFailure": true
  91. }
  92. }