绑定微信以及获取openId

 因为公司最近在作一个微信公众号的项目,须要获取用户openId,我再一次踏入了微信的坑!
html

 先在这里告诫后来的同志,若是同样要开始作有关微信的东西,最好是有前辈,或者直接看完文档,不懂或者纳闷的地方直接找微信客服!千万不要直接去怼微信的代码,简直了...api

  咱们公司是属于已认证的服务号的那种公众平台,前戏基本上该作的已经作了。安全

  先说一说该注意的几个点,以及很容易忽视的地方。微信

  

   这里的业务域名、JS接口安全域名和网页受权域名都是同一个,也就是公司官网认证的域名。而后咱们写的html文件必需要在这个域名对应ip地址的文件夹下,二级或者三级均可以。app

   还有须要注意一下的就是基本配置的IP白名单这块!url

   

     刚开始研究了几天文档,兴致满满的写代码,几个各类报错,各类不对劲,甚至调用微信官方接口都各类调不起。找了几番度娘才发现原来的IP白名单的缘由。还有一个坑,咱们下次讲,此次暂时先说说openId的获取方式。
spa

    在拿到AppID和AppSecret也就是开发者密码后,就能够调用微信受权接口了。3d

    文档目录:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842code

    要获取用户openId首先要让用户赞成受权,获取code;htm

    受权大概就是这个样子:

    因为咱们这边管事的不但愿用户看到受权页面,说什么影响用户享受什么的,什么鬼,受权页面很正常好很差,我反而以为没有受权页面就拿到信息那才是感受怪怪的~~.(稍微吐槽吐槽~~)

      获取code的方法,微信文档的接口这些写的还算清楚,可是其中的坑就真心的是让人无奈啊!

    https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

    按照这个接口的格式把每一个参数拼接,而后访问,我起先觉得是Ajax访问,结果......一脸懵逼啊~~

    结果这里是直接访问就OK,参数里面有个redirect_uri,受权后重定向的回调连接地址,这里的参数直接写受权后跳转的页面就OK,要注意的是这里的url必须是网页受权域名里的!

    而后就是受权页面的展现。这里咱们管事的要求的是直接不要受权页面,也就是所谓的静默跳转,直接到主页面!

    这里就须要把微信参数中scope的值变成snsapi_base !可是应用受权做用域,snsapi_base (只能获取用户openid)!

    

    而后最终的样子就是这样子:

    而后在主页面获取url里的code参数,这个都会,就很少说了,获取后再调用微信连接获取access_token!

    这里就有一个隐形的坑了,并且是大坑!

    

    按理说,code也拿到了,按微信参数一个个填,应该就能够获取到里面的openId的,可是这里的连接是不能前台获取的,只有让后台写接口,咱们这边动态传入数据给后台,来获取,而后呢,code这个数据是只能调用一次的,因此,你懂的~~~应该是为了保护公众号信息被盗取,因此在前台输入微信接口是调取不到的,因此这也是没办法的事情,但是微信好歹提示下啊,啥也不说,哎~~

    拿到openId后,用openId拿到对应微信公众号的关注者信息这些是后台作的事情,你叫他给你个接口,而后你把openId输入进去,和某些须要的参数就能够直接拿到了,(反正我这边只须要一个openId~~~)

相关文章
相关标签/搜索