最近,看到消息,說是微信把企業公眾號升級到企業微信。當時並沒有在意,但是後來發現之前用企業公眾號的接口來發通知訊息的程式發不出去訊息了。本文就和大家分享企業公眾號升級到企業微信之後發送訊息失敗的原因及解決方法。
登到新後台看了下,發現應用的Secret值變了,比起之前位數少一些。將程式碼中的Secret值替換成新的之後,發現還是不行。 debug看了下,在用post請求呼叫介面發送訊息的時候報錯:{"errcode":-1,"errmsg":"Invalid input"}。分析原因可能有兩個:呼叫的發送訊息介面位址不對了;或者,傳送的post參數的格式不對了。
還好,在其官網上找到了企業微信的API說明文件:https://work.weixin.qq.com/api/doc ,上面有較詳細的使用說明。經確認,呼叫介面的url位址並沒有改變(發送訊息還是用https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN)。但發現文字訊息的格式有點不一樣,官網範例如下:
{ "touser" : "UserID1|UserID2|UserID3", "toparty" : " PartyID1|PartyID2 ", "totag" : " TagID1 | TagID2 ", "msgtype" : "text", "agentid" : 1, "text" : { "content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。" } }
上面的UserID、PartyID這些應該我之前都是當數值傳的,但範例上是放在引號裡面的,就是被當成字串了。於是,我把程式碼也改成以字串的方式試了下,結果可以了。 。 。
相關推薦:
以上是企業公眾號升級到企業微信之後發送訊息失敗的原因的詳細內容。更多資訊請關注PHP中文網其他相關文章!