1、按照开发文档操作,授权无法通过
——这里简单粗暴点,直接原路返回微信提供的数据即可,微信返回的都对字符串(如果按照微信提示正确操作 后,始终无法通过授权,请检查返回值是否进行了json装换,请在页面请求打印一下你返回的值是否包含其他信息——如"",值得注意的是,微信所说的返回对应的字符串是指的没有"“的结果值,java开发中为了方便, 会配置@ResponseBody返回值自动进行json转换,导致返回结果带有”")
修改: 1、 接入概述链接https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html2、不建议不校验,现有文档提及“若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。”
[)])
2、回复“success”或""空字符串,依然提示“该公众号暂时无法提供服务,请稍后重试”
——如果返回给微信"success"或""后微信提示“该公众号暂时无法提供服务,请稍后重试”,请在页面请求打印一下你返回的值是否包含其他信息--如"",值得注意的是,微信所说的返回"success"或""是指的没有""的结果值,也就是success或者 ,java开发中为了方便, 会配置@ResponseBody返回值自动进行json转换,导致返回结果带有"",从而导致微信服务器获取信息解析错误
3、获取用户昵称有特殊字符无法存入数据库
——将数据库编码改为utf8mb4,进行nickName编码(URLEncoder.encode(nickName,"utf-8"))之后存入数据库,获取时进行反编码(URLDecoder.decode(nickName,"utf-8"))进行处理
4、回复微信消息,显示中文乱码问题
——进行中文重编码 new String(str.getBytes(),“iso-8859-1”)
或配置返回编码:
@RequestMapping(value = “testPersonalValidtor.do”,produces = “application/json;charset=utf-8”)