在运营一个微信公共平台,尤其是运营一个微信商城时,我们经常遇到一个问题。那就是,当用户登录进来时,我们不知道当前的用户是否有关注我们的公共号,是否能获取公共号的最新资讯。因此,判断一个用户是否有关注当前用户,这个功能就显得格外重要了,因为只有能判断,我们才能给予客户最正确的引导。
下面我就来介绍一下如何判断用户是否有关注当前微信公共号吧。
一、获取用户的openid
获取用户的openid方法为
引导用户跳转到特定网页
网页地址为https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base#wechat_redirect
这里您只需要设置appid以及跳转获取后的回调地址即可,其他参数不变。
获取code
当页面重新跳转回来后,会以get方式带入参数code,不同语言不同获取方式,php的获取方式为$_GET["code"]。
通过get方式调用api
调用地址为https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
具体调用方法不同语言也是不同的,php的为file_get_contents(urls);这个函数会返回一个json字符串。
其中就有用户的openid属性。
二、获取access_token
获取方法为通过get方式访问
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
这个方法一天只能调用10000次,每次获得的access_token可以使用2小时,期间access_token可以被反复复用。
三、调用获取用户详细信息的api
获取方法为通过get方式访问
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
php的话同样直接使用file_get_contents(urls);即可。返回值也将是一个json,如果调用无误,它将包含一个subscribe字段,
如果这个字段为0,说明当前用户没有关注当前微信公共号。如果返回字段为1,说明当前用户关注过当前微信公共号。
如果有客户想开发微信号,记得联系小沃哦。