微信公众号开发问题汇总
1.公众号获取到的昵称乱码
微信获取用户信息,通过 https://api.weixin.qq.com/sns/userinfo
获取到的微信昵称出现了乱码,我的昵称是包含中文的。
问题不是出在微信上,是出在sendRedirect页面跳转的时候,在跳转之前,将昵称进行url转码就好了:URLEncoder.encode(weixinName,”UTF-8”)。
2.公众号页面缓存问题
微信公众号开发的H5页面,会有严重的缓存问题,当服务器上的文件更新后,微信公众号访问该网站,其实并没用立即的更新,这个问题去年就有很多人提到过了,但是官方一直没有给予解决,只能通过其他的方式清除公众号的缓存了。
比如IOS中,通过微信我->设置->通用->存储空间->缓存->清理缓存,完成清理,这里要主要,清理的是缓存,而不是聊天记录。
1.微信公众号H5页面缓存问题解决方案! (这里倒是有几个解决方案,修改文件名,修改文件缀)
2.微信公众号页面缓存问题 (这里是微信公众号的讨论页面,有人就是在2020还是说微信团队没有解决相关的问题)
3.微信公众号开发,清除微信内置浏览器缓存 (这篇文章讲了多种方式如何清理微信缓存问题,主要就是借助于微信自带的设置->通用->存储->清理缓存,这里是清理缓存,不是清除聊天记录,两者还是不一样的。)
4.微信浏览器怎么禁止缓存静态页面-通过nginx配置 (通过增加Last-Modified、Cache-Control、if_modified_since、expires、etag等协议头进行缓存的清理)
5.解决微信浏览器缓存站点入口文件(IIS部署Vue项目) (前端vue使用文件版本号,微信公众号菜单链接加上特定版本号、部署到nginx上)
3.40163错误
使用 "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";
获取微信授权的时候,出现了40163错误。
4.一个公司只能注册两个公众号
原则上,一个公司只能注册两个公众号,但是也还是有办法突破这个限制的。
1.你自己先注册个邮箱
2.然后用新的邮箱去微信公众平台注册公众号
3.输入企业的时候 选择法人验证,然后填写信息,选择提交
4.提交时候会显示下面界面
5.点击“申请表”,进入申请表填写页面,填写下面这句话(或者根据自己实际情况填写,但是不要有违规的嫌疑):
你好,亲爱的管理员。因为公司业务调整,需要增加公众号用于公司官方微信,注册用来,投放广点通,并已经联系好当地代理,保证不发时事内容,不追热点。只发布公司相关产品。请批复 。
6.提交“申请表”之后,一般第二天就会有邮件发到你当时的注册邮箱里面,到时去邮箱里面留意看下,一般申请一次微信官方会给增加5个名额
【注意事项】
1、登陆后改名称,名称7天内过期。设置头像和介绍。2、最好别发文章,等突破完再发文章。3、需要微信认证的可从后台开通!微信认证目前名称审核严格,比如;祛斑美白,需要上传特种医疗证件。涉及食品类的名称,需要上传食品流通许可证。名称认证我们无法保证所有名称审核通过,这个是审核公司负责审核。
5.页面地址url被转义了
设想这样的场景,我在微信开发者工具中,输入一个后台地址,后台获取到用户的信息之后,要跳转到一个登录页,并携带参数。比如跳到www.bing.com,后面会带有一个sessionid参数。结果在后台使用sendRedirect方法进行跳转,结果就会出现被转义的情况。
1 | response.sendRedirect(url+"&sessionId="+sessionId); |
但是如果这个url是包含了问号的情况,就可以进行条状,比如www.bing.com?,最后后台拼接的跳转字符串其实是www.bing.com?&sessionId=1,如果不加文化,则拼接的是www.bing.com&sessionId,这不是一个正常的跳转url,就会被转义。
1 | window.location.href = 'http://dev.proheng.net/PhRecruitAdmin/loginWX?reqUrl=http://localhost:8080?'; |
6.argument invalid! data.thing12.value invalid rid
这个问题就是发送模板消息和订阅消息的时候出现了。
【解决方案】
thing12 长度限定在20个字符内。
7.redirect_uri 参数错误
在构建微信认证跳转地址的时候,经常出现这个问题。
(1) 检查uri参数和微信公众号后台配置是否一致。
(2) 检查微信公众号是否配置网页授权域名。
1.微信Redirect_uri参数错误解决方法 因为微信只支持80或者443端口。所以这里要能访问到你服务器上的80或者443端口
2.亲测!微信登录redirect_uri参数错误问题解决记录
3.微信公众号:提示“redirect_uri 参数错误” 这篇文章有用