小程序真机无法吊起授权,模拟器可以

       刚接触小程序开发时,获取用户信息,网上也写的一堆一堆的。但很多都是在授权接口更改之前,授权接口更改之后的,很多都没有例子,今天就贴一个例子吧,为了记录自己踩过的坑

      自从小程序更改授权方式为button后,以前的直接请求方式,已经无法再用。类似下面:

wx.request({
  url: 'https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code='+ code +'&grant_type=authorization_code',
  data: {},
  header: {
      'content-type': 'application/json'
  },
  success: function(res) {
    openid = res.data.openid //返回openid
  }
})

已经不再适用。原因是,自从授权接口调整后,https://api.weixin.qq.com,这个域名,微信已经不允许开发者添加为自己的request请求域名了。但这个域名仍然可以用,可以用的前提是,在开发者工具里,勾选掉下面的选项

这样的话,微信就不会校验你的证书和域名了,所以,不会出错。但会出现一个问题,就是真机上预览时,仍然会调用你设置域名,所以,真机不会有任何反馈,而在模拟器中,因为勾选了此选项,所以对于这一步也是不用验证的,即使,不勾选,去验证的话,你的request域名如果设置了,也不会返回任何错误。

        但会一直提示“https://api.weixin.qq.com”这个域名不再合法的request域名请求列表中。

找到原因后,就做调整。调整的方法是,小程序,只使用wx.login来获取code。然后把要请求的路径和code一并传入后端,由后端模拟发起https请求,来获取openid,这也是微信官方所提倡的方式

猜你喜欢

转载自blog.csdn.net/feifantiantang/article/details/80800942
今日推荐