企业微信js-sdk sendChatMessage:fail, invalid param 踩坑实录

678 阅读1分钟

api链接地址:developer.work.weixin.qq.com/document/pa…

先说结论:imgUrl字段不能为空。

问题表现:企微侧边栏分享消息到当前会话,发送卡片链接时,部分PC发送不出去,手机企微可以,并且报错sendChatMessage:fail, invalid param。

第一反应是以为企微版本问题,后来去公司其他应用发现可以发送,但是比我的参数多了imgUrl和desc。开始怀疑是不是这两个参数的原因。

我打开企微开发者模式,在控制台直接使用命令(模拟数据),能成功发送。

window.wx.invoke('sendChatMessage', {
    "news": {
        "link": "https://www.baidu.com",
        "title": "百度",
        "desc": "百度",
        "imgUrl": "https://www.baidu.com/img/flexible/logo/pc/result.png"
    },
    "msgtype": "news",
    "appId": "**", // 后端生成,下同
    "verifyAppId": "**",
    "verifySignType": "**",
    "verifyTimestamp": "**",
    "verifyNonceStr": "**",    "verifySignature": "**",
})

然后再输入命令,只去掉imgUrl

window.wx.invoke('sendChatMessage', {
    "news": {
        "link": "https://www.baidu.com",
        "title": "百度",
        "desc": "百度",
        "imgUrl": ""
    },
    "msgtype": "news",
    "appId": "**", // 后端生成,下同
    "verifyAppId": "**",
    "verifySignType": "**",
    "verifyTimestamp": "**",
    "verifyNonceStr": "**",    "verifySignature": "**",
})

发送失败,但是官方文档里并没有提到imgUrl是必填的,社区里也只有一条问答,目前也没有修复。

所以如果碰到类似情况,要注意补上imgUrl。