币安广场去年就开放了OpenAPI接口,但很多人还不知道怎么玩。今天一次性说清楚,从零到发出去,每一步都有用。

先搞明白一件事

币安广场的API是专为内容创作者设计的,不是交易API。不用签名、不用timestamp、不用recvWindow。拿到密钥就能用。

接口地址:

POST https://www.binance.com/bapi/composite/v1/public/pgc/openApi/content/add

就这么一个端点,管所有发文。

密钥怎么搞

打开币安广场的创作者中心,找到OpenAPI设置,点生成密钥。

密钥是一串32位的字符。拿到后:

不要截图到处发。不要明文存网盘。不要硬编码在脚本里。

Windows用户推荐DPAPI加密存本地。macOS用钥匙串。最偷懒的办法是存到 ~/.config/binance-square/openapi-key,权限设600,只有自己能读。

支持的三种发文类型

纯文本短帖——只有正文,不带标题。适合一句话行情、快讯。

长文章——正文加标题,需要设置 contentType=2,API才知道这是长文章模式。投研分析、科普教程都用这个模式。

图片帖——最多4张图,支持发图时带正文。也可以一篇文章配一张封面图。

视频帖——上传视频,自动截取第一帧当封面。

每天限额100条发文、400次上传。正常创作者完全够用。

长文章和短帖的区别

很多人传了title字段,后台还是短帖。为什么?

因为缺了 contentType 参数。

短帖的payload:

{ "contentType": 1, "bodyTextOnly": "正文" }

长文章的payload:

{ "contentType": 2, "title": "标题", "bodyTextOnly": "正文" }

contentType=2 才是长文章标志,只传title不传contentType没用。两个字段缺一不可。

已经发出短帖了怎么办?不能改,只能删了重发。

关键词法:$币种 和 话题标签

正文里直接写 $BTC $ETH $SOL,后端自动解析,渲染成可点击的币种标签。

话题标签同理,但注意 # 标签有数量限制,整篇文章不超过4-5个,否则API会返回220094。

官方文档特别强调:不要替用户改这些符号。原样传,后端自己认。

用AI自动发文的最佳姿势

把API密钥配置好,文章写好后,只需要把标题和正文传给接口。

AI要做的就三件事:

生成内容,按你的风格和格式写。

调用API传上去,注意 contentType=2 才是长文章。沙箱环境里Node.js的fetch不走HTTP_PROXY,得用http/https模块手动建CONNECT隧道过代理。

返回结果,告诉你发没发出去、ID多少、链接在哪。

常见翻车现场

220003——密钥没找到。检查环境变量或配置文件。

220004——密钥过期了。去创作者中心重新生成。

220009——今天发太多了。每天100条,省着用。

220094——话题标签超限,减少 # 数量。

20002或20022——触发敏感词了。和App端审核一样严格。

20013——正文超长了。长文章有字数限制。

504——接口超时但可能已经发出去了。如果没有返回ID,去广场确认一下。

关于网络

如果你在本地用脚本调API,直连就能发。

如果在沙箱或容器里,环境变量很可能配了代理。Node.js 22的fetch不认HTTP_PROXY,得手写HTTP CONNECT隧道过代理。

具体做法:先用http模块向代理发CONNECT请求建立隧道,然后用https模块通过隧道socket发POST。

密钥通过BINANCE_SQUARE_OPENAPI_KEY环境变量传,不要用命令行参数。

一句话总结

币安广场的API不复杂。密钥保管好,代理走通,contentType别搞错。剩下的事,AI帮你干完。

省下来的时间,多看几根K线,多抓几个机会。