微博网页版不支持录制发布语音微博,因官方未开放web端voice类型微博功能,仅限iOS/Android App通过专用接口和AMR-NB编码实现,网页端无UI入口且服务端拒绝非App签名请求。
微博 HTML5 版本(即网页版微博)**不支持直接录制并发布语音微博**。这是当前(2025 年底)的明确限制,不是操作问题,而是功能缺失 —— 官方从未在 web 端开放 voice 类型微博的上传或录制入口。
微博的语音微博(w)仅限官方 iOS/Android App 实现,依赖设备麦克风权限、本地音频编码(如 AMR-NB)、以及服务端专用的
eibo_type=voice/statuses/upload_voice.json 接口。HTML5 页面既无对应 UI 元素,也未暴露该 API 调用逻辑。
图片、视频、GIF、话题 和 位置 按钮,没有 麦克风 或 语音 图标type 字段只接受 text、pic、video,没有 voice
{"code":100003,"msg":"非法参数"}
不行。语音微博不是普通音频附件,它被封装为特殊格式(带元数据的 .amr 文件 + 服务端转存的播放链接),且必须经 App 内 RecorderView 组件触发完整流程(权限申请 → 录制 → 停止 → 上传 → 返回 voice_id → 组装微博)。
audio/* MIME 类型wap.weibo.cn)同样无此功能,且已基本下线技术上可以调起 navigator.mediaDevices.getUserMedia({ audio: true }),但录完音频后卡在最后一步:微博后端拒绝接收任何非 App 签名的语音上传请求。
fetch('https://api.weibo.com/2/statuses/upload_voice.json', {
method: 'POST',
headers: { 'Authorization': 'Bearer xxx' }, // 即使 token 有效
body: formData // 包含 amr 文件
})
// 响应永远是 403 或 {"code":100012,"msg":"access denied"}
User-Agent 必须匹配微博 App 的固定格式(如 Weibo/142.0.0 (iPhone; iOS 17.5; Scale/3.00))X-App-Key、X-Session-ID 等字段,网页环境无法伪造真正想发语音微博,唯一可靠路径就是打开手机微博 App,点底部「+」→「语音微博」→ 按住说话(最长 60 秒)。网页端所有“找入口”“改代码”“换 User-Agent”的尝试,都会停在服务端鉴权这道墙外。