微信小程序 input公众号下的input的type=search,本地测试正常,但是在微信小程序 input公众号里面某一些苹果手机不弹出键盘

微信公众号网页授权出现空白页面 - 推酷
微信公众号网页授权出现空白页面
今天同事在调试微信公众号网页授权时,发现一个非常诡异的问题。当scope为snsapi
base时,可以正常授权,当scope为snsapi
userinfo时,无法授权,出现空白页面。
首先可以排除接口权限的问题,因为
snsapi_base
snsapi_userinfo
需要的权限是一样的。也可以排除是微信sdk的问题,所以还是从自身找问题。通过后台调试,把授权页面的地址打印出来是这样子的:
//把下面url中的scope=snsapi_userinfo 改为 scope=snsapi_base可以正常授权
https://open./connect/oauth2/authorize?appId=wx87cf9295e2eeba97&redirect_uri=http%3A%2F%%2Fexam%2F&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect
对比官网wiki文章,同事肉眼对比链接没有发现任何问题。后来我表示不服,决定肉眼再观察一遍,终于发现
应该是小写的。改成小写后测试通过。OMG,又是linux的大小写问题。
非常简单的一个低级错误,一方面暴露了我们自己的不严谨,没有严格按照微信官方的wiki来做,忽略了url参数中的大小写问题;另外一方面,也反映出微信的不厚道,同样都是大写的字母
snsapi_base
的授权模式是可以的,而
snsapi_userinfo
不行呢,我猜可能是前者在获取
这个参数时,会统一转换成小写,而
snsapi_userinfo
时没有做这个操作。导致微信授权服务接收不到
这个参数。此时,微信应该报一个类似于
获取appid失败
这样的错误的,可是并没有,而是停留在授权页面无法跳转到用户的
redirect_uri
,用户看到的表现就是空白页面。微信这样做可能是出于安全考虑吧。
假如在网页授权时有类似的空白页出现,可以从我刚刚提供的思路去查看,是否有类似的大小写问题。
在做网页授权时,经常会遇到的一个其他问题是提示:
redirect_uri参数错误
。出现这个问题的原因通常都是没有在接口权限表中修改OAuth2.0网页授权的授权回调页面域名,或者填写在域名前面多加了
在开发微信公众号时,可以申请测试号来体验,它拥有大部分高级权限(除微信支付之外)。在公众号处于申请阶段,用这个测试号来开发是非常棒的!
另外,给大家推荐一个github上非常实用的微信公众号开发sdk,它对微信公众号的sdk做了二次封装,包括缓存access_token等处理,目前有php版本的。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致鍙?渶涓

我要回帖

更多关于 微信公众号 msgtype 的文章

 

随机推荐