微信小程序消息配置問題匯總


一、消息推送配置

1、解析失敗、請檢查信息是否填寫正確

  服務器地址中不能使用其他的端口號,把端口號去掉,默認就是走80或443端口,另外這個地址需要外網訪問,我使用了nat123映射了80端口,這個工具需要一點點小費

2、請求超時,請檢查信息是否填寫正確
  這個一般是由於后端CheckSignature方法里 經過SHA1加密的字符tmpStr和signature不匹配導致的,一開始我使用 if( tmpStr==signature ) return true; 其實應該使用 if( tmpStr.Equals(signature, StringComparison.OrdinalIgnoreCase) ),SHA1加密以后返回的字符是大寫的

3、Token校驗失敗,請檢查確認
  這個一般是由於后端接口返回的數據類型不對,大多數接口都會封裝一個ApiResutModel用來統一返回類似於 { code:200, msg:"",data:{} } 的結果,但是消息推送配置里只能接受純文本,因此修改為 HttpContext.Response.WriteAsync(echostr);


二、消息推送

1、invalid openid rid: 5f5f0b66-3e0db526-555e7b82 無效的openid
  這個一般由於后端請求subscribeMessage.send接口時傳遞的json格式錯誤,要不就是key順序問題,要不就是key首字符大寫的問題,一般后端定義的請求模型首字母都是大寫,而小程序接口需要的json必須全部小寫

2、{ "errcode":43101,"errmsg":"user refuse to accept the msg hint: [EW7iIa04390500]" } 用戶拒絕接受消息
  當前端使用wx.requestSubscribeMessage已經成功授權后還提示上面的錯誤,一般是由於后端配置的模板id和小程序的模板id不匹配導致的

3、{"errcode":47003,"errmsg":"argument invalid! data.date4.value invalid rid: 5f4084e5-7924012e-20ad3837"}
  如果消息模板中定義了date,那么日期是不能包含時間的,在C#中使用DateTime.Now.ToShortDateString()截取年月日


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM