[微信] 客服接口調用的時候返回 40003 Invalid OpenID


首先確認收件人在24小時內主動向公眾號發過消息。該消息的 FromUserId 即是客服消息的 touser 參數的 OpenId

2017-05-19 更新:可以使用UTF-8了

string url = $"https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={token}";
using (var web = new WebClient())
{
    web.Encoding = Encoding.UTF8;
    var resultJson = web.UploadString(url, JsonConvert.SerializeObject(message));
    var result = JsonConvert.DeserializeObject<WeChatJsonResult>(resultJson);
    return result;
}

 

——以下內容不適用

其次,確認使用的編碼是 ASCII ,UTF-8無效!!!干了一下午。終於找到方法了。

PostString 的測試樣例:

request.Method = "POST";
request.ContentType = "application/json";    
request.Timeout = 5000;    // Five seconds time-out for a failed http connection
request.KeepAlive = false;
var requestStream = request.GetRequestStream();
using (TextWriter tw = new StreamWriter(requestStream, Encoding.ASCII))
{
  tw.Write(PostString);
}

我得到了 http://mp.weixin.qq.com/qa/index.php?qa=10715&qa_1=%E5%8F%91%E9%80%81%E5%AE%A2%E6%9C%8D%E6%B6%88%E6%81%AF%E6%8F%90%E7%A4%BA-invalid-openid 頁面中的啟發。

 


免責聲明!

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



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