为什么
虽然微博提供了OpenAPI来发布微博,除了权限申请非常麻烦,调用时的要求也非常苛刻,比如必须带一张图、不能带标签等。于是有了 fxd-app-weibo-publish 。
注意:本应用只是模拟用户的正常操作,因此同样受频次限制,只适用于自动化,不适用于滥发广告等行为。请使用者遵守当地法律和微博用户协议。本APP免费开源发布,我们不承担任何因违规使用带来的直接或间接损失。
是什么
fxd-app-weibo-publish 针对 m.weibo.cn 进行自动化,也受该版本的功能限制,比如暂时不能发布视频。由于微博发布需要登录权限,需要和 fxd-app-weibo-live 配套使用。
如何使用
fxd-app-weibo-publish 是一个 fxd app,你可以通过 fxd-cli 或者 FlowDeer 运行它。
在安装完成 fxd-cli 之后,你可以通过以下命令直接安装 fxd-app-weibo-publish
fxd _install fxd-app-weibo-publish
然后运行帮助命令,可以查看它的方法和对应的参数:
fxd weiboPublish help
Version:
1.0.8
Usage:
fxd weibo-publish [command] [options]
Command - main|publish:
--content <string> 微博内容 (required)
--headless <boolean> 是否使用后台模式 (default: true)
--user <string> 浏览器使用的用户目录 (default: default)
--format <string> 返回的数据格式 (default: text)
--timeout <number> Playwright 操作超时时间,单位毫秒 (default: 60000)
--wait_type <string> 等待元素出现的方式 (default: domcontentloaded)
--images <string> 图片地址,用逗号分隔 (default: )
--self_only <boolean> 是否仅对自己可见 (default: false)
--browser <string> 浏览器类型 (default: chrome)
使用实例
在运行发布命令之前,需要先运行 fxd-app-weibo-live 登入 m.weibo.cn :
fxd weiboLive auth
然后就可以发布微博内容了:
fxd weiboPublish --content="你好呀" --self_only="true" --format="json"
返回结果:
{
"action": "publish",
"message": "done",
"output": "你好呀..."
}
注意这里的done只是表示发布操作结束了,并不代表发布成功。
1.0.9版本以后添加了 checked 字段,会自动访问主页查找是否存在发布微博(通过前5个字和发布时间比较)如果为 true,则可以认为成功发布。返回结果示例如下:
{
"action": "publish",
"message": "done",
"output": "你好呀...",
"checked": true
}
微博可看到效果:
由于微博有着各种奇怪的规则,比如某些网址和关键字发布会一直失败,所以偶尔为发布失败。这种时候你可以传入 –headless=”false” 参数,这样可以在浏览器上看到具体的发布情况:
fxd weiboPublish --content="你好呀" --self_only="true" --format="json" --headless="false"