關於傳送微信客服訊息報44004錯誤的解決辦法
阿新 • • 發佈:2019-02-15
錯誤如下:
{"errcode":44004,"errmsg":"empty content hint: [xCzlfa0209ge25]"}
傳送的程式碼如下:
def POST(self): data = web.data() reg = '''<xml><ToUserName><!\[CDATA\[(.*?)\]\]></ToUserName>''' reg2 = '<FromUserName><!\[CDATA\[(.*?)\]\]></FromUserName>' reg3 = '<CreateTime>(\d+)</CreateTime>' reg4 = '<MsgType><!\[CDATA\[(.*?)\]\]></MsgType>' reg5 = '<Content><!\[CDATA\[(.*?)\]\]></Content>' reg6 = '<MsgId>(\d+)</MsgId>' fromusers = re.compile(reg2).findall(data)[0] MsgType = re.compile(reg4).findall(data)[0] Content = re.compile(reg5).findall(data)[0] username, city = self.get_userinfo(fromusers) if fromusers != 'owV3nvshcqIgwflEMlikiXdwaP7M': self.leandbs.save_userinfo(fromusers) dic = {"touser":"owV3nvshcqIgwflEMlikiXdwaP7M","msgtype":"text","text":{"content":'【%s %s】:%s' % (city, username ,Content)}} else: fromuser = self.leandbs.select_userinfo('key','1','openid') dic = {"touser":fromuser,"msgtype":"text","text":{"content":Content}} dics = json.dumps(dic,ensure_ascii=False) dics = dics.encode('utf-8') url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=%s' % self.get_token() result = requests.post(url,data=dics) print result.content return 'success'
如果不加
dics = dics.encode('utf-8')
這一句轉換,則傳送中文訊息時只能發一個字。超過就會包文字訊息為空的錯誤。