请求头估计设置的有问题把,可以检查下Content-Type是不是application/json,Host的也补上试试
微信对话开放平台 添加标签报Not Foundhttps://developers.weixin.qq.com/doc/aispeech/platform/batchsetlabel.html
2020-12-04官方文档中有一个同名两个参数的方法,第一个参数可以通过getRandomStr获取,加密之后就可以
智能对话,设置自动回复-开放接口,加密需要提供实现代码或逻辑。https://developers.weixin.qq.com/doc/aispeech/platform/living/setautoreply.html var encrypted = cryptor.encrypt(data); 这个java版本没有这个方法,java版本是有其他参数的,麻烦提供java版本
2020-12-04有解决的请留个言哈。好像都是类似的情况
智能对话平台 批量设置用户标签接口总是 Not Found批量设置用户标签接口:[代码]https://openai.weixin.qq.com/openapi/label/batchset/{TOKEN}[代码] [代码]请求不管用什么方式请求都是未定义呢[代码]
2020-12-04我碰到同样的问题,不过解决了。后台发现是headers设置的问题
智能对话文档中设置批量导入(普通)技能接口404?调用的接口地址https://openai.weixin.qq.com/openapi/batchimportskill/bZckp5aTH2HydICjBAdpmBBdT47brr xml加密完成,按文档要求将加密后的数据,以字段 encrypt 放入body中,接口返回404, 其中headers的设置是{'Content-Type', 'application/json'} 如果不设置headers接口返回 {'errcode': 1013, 'errmsg': 'decrypt error, please use the correct way to encrypt the params.'} 貌似这种需要在body中添加加密xml字段的接口都是如此,前面使用发送客服消息接口也是报一样的错误 开发语言python代码片段 def batchimportskill(self): urls = [ "https://openai.weixin.qq.com/openapi/batchimportskill/bZckp5aTH2HydICjBAdpmBBdT47brr" ] headers = { "Content-Type": "application/json;charset=UTF-8" } param = {'managerid': "mzZqGup3tUs"} skill_xml_list = [] for i in range(0, 2): skill_xml_list.append( f"""<skill><skillname><![CDATA[技能名称1]]></skillname><title><![CDATA[标准问题3]]></title><question><![CDATA[相似问题1]]></question><answer><![CDATA[1]]></answer></skill>""") s_nonce = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba', 10)) xml = f"""<xml><managerid><![CDATA[{param['managerid']}]]></managerid>{''.join(skill_xml_list)}</xml>""" cryptor = WXBizMsgCrypt(self.TOKEN, self.EncodingAESKey, self.APPID) code, encrypt_xml = cryptor.EncryptMsg(xml, s_nonce) print(encrypt_xml) if code == 0: skill_xml_encrypt = { 'encrypt': encrypt_xml } data = json.dumps(skill_xml_encrypt, ensure_ascii=False).encode('utf-8') tasks = [grequests.post(u, data=data, headers=headers) for u in urls] resp = grequests.map(tasks, size=3) print(resp) if resp is None: return False if resp[0].status_code == 200: resp_dict = json.loads(resp[0].content.decode(encoding='utf-8')) print(resp_dict) else: return False
2020-12-04