微信公众号获取OpenId(未授权)(需要关注公众号)
2018-01-09 11:15
225 查看
文章的一开始,我先解释下微信公众号的openId。
openId是微信对于用户的唯一辨识,只要有用户关注你的公众号,微信会通过公众号和用户微信号通过一种算法生成一种唯一标识码,也就是openId,用数学表达式也就是说:
x=你的公众号,y=用户微信号,f()函数表示算法
那么openId = f(x,y);
后面就讲讲怎么获取到openId把,我下面先讲一种简易的方式(还有一种后续有空加上)
1.在公众号后台设置回调的域名(大多情况下是你的项目)
开发-接口权限-网页账号-用户授权获取用户基础信息中修改
2.在页面上访问下面的网址
https://open.weixin.qq.com/connect/oauth2/authorize?appid=*******&redirect_uri=你回调的地址&response_type=code&scope=snsapi_base&state=1#wechat_redirect
上面的会返回到你回调的地址?code=xxxxxxxxx
也就是说它会返回到你回调的地址并且带上code参数,一般情况下,回调的地址设置为后端的action即可,然后就可以获取到code了,当你获取到code,已经成功了一大半。
3.然后在后端访问下面的网址
https://api.weixin.qq.com/sns/oauth2/access_token?appid=***&secret=***&code=***&grant_type=authorization_code
code的参数用刚刚返回的code值。
4.上面网页将会返回json,其中openId就在其中。
至此,openId就获取到了,但是要注意:此处只获取到了openId,也就是不需要用户授权的,要获取用户其它的信息请参考接口文档。还有就是每次获取openId请重新获取code,code值不要重复使用,防止出错。
在微信页面上我是把获取到的openId保存在cookie中的,这样就可以防止openId的重复获取,我只在用户第一次进入或者cookie中的openId失效的时候进行再次获取的。至今没什么问题,但是我不知道大神们是把openId是放在哪里,我也只是给大家一个意见而已。
如果文档中有什么问题希望指出,如果需要帮助请私信。
openId是微信对于用户的唯一辨识,只要有用户关注你的公众号,微信会通过公众号和用户微信号通过一种算法生成一种唯一标识码,也就是openId,用数学表达式也就是说:
x=你的公众号,y=用户微信号,f()函数表示算法
那么openId = f(x,y);
后面就讲讲怎么获取到openId把,我下面先讲一种简易的方式(还有一种后续有空加上)
1.在公众号后台设置回调的域名(大多情况下是你的项目)
开发-接口权限-网页账号-用户授权获取用户基础信息中修改
2.在页面上访问下面的网址
https://open.weixin.qq.com/connect/oauth2/authorize?appid=*******&redirect_uri=你回调的地址&response_type=code&scope=snsapi_base&state=1#wechat_redirect
上面的会返回到你回调的地址?code=xxxxxxxxx
也就是说它会返回到你回调的地址并且带上code参数,一般情况下,回调的地址设置为后端的action即可,然后就可以获取到code了,当你获取到code,已经成功了一大半。
3.然后在后端访问下面的网址
https://api.weixin.qq.com/sns/oauth2/access_token?appid=***&secret=***&code=***&grant_type=authorization_code
code的参数用刚刚返回的code值。
4.上面网页将会返回json,其中openId就在其中。
至此,openId就获取到了,但是要注意:此处只获取到了openId,也就是不需要用户授权的,要获取用户其它的信息请参考接口文档。还有就是每次获取openId请重新获取code,code值不要重复使用,防止出错。
在微信页面上我是把获取到的openId保存在cookie中的,这样就可以防止openId的重复获取,我只在用户第一次进入或者cookie中的openId失效的时候进行再次获取的。至今没什么问题,但是我不知道大神们是把openId是放在哪里,我也只是给大家一个意见而已。
如果文档中有什么问题希望指出,如果需要帮助请私信。
相关文章推荐
- 微信公众号获取OpenId(用户授权)(无需关注公众号)以及获取用户基本信息
- 【微信公众号】验证用户OpenID是否关注某个公众号
- 小C公众帮 获取微信公众号粉丝openid
- 使用微信公众号接口一键获取全部关注用户的信息(openid,nickname,city,country,groupid,targetlist)
- 微信公众号开发-微信网页授权获取用户openid以及用户信息的步骤
- 获取微信公众号授权失败, 请稍后重试! 公众平台返回原始数据为: 错误代码-40164
- 微信公众号开发系列-获取微信OpenID
- 微信公众号开发系列-获取微信OpenID
- 微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转
- 微信公众号开发教程[010]-消息管理-获取公众号的自动回复规则
- 微信公众号开发-微信网页授权获取用户openid以及用户信息的步骤
- 微信公众号如何获取openid
- [004]微信公众账号开发教程第1篇-根据用户openID获取用户基本信息
- 多平台一个微信公众号的openid授权获取
- 微信公众号支付(一)如何获取用户openId
- 微信公众号openid获取失败
- 微信开发-公众号支付(1)-获取openid
- 微信公众号支付之openID的获取
- 微信公众号openid获取失败
- 微信公众号获取一键关注链接