主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
目前很多活动引导用户关注微信官方账号后才能参与活动。如何判断用户是否关注过微信官方账号,其实很简单。根据这篇文章,你不会再担心了。本文中的php代码详细解释了这一点。
一、微信公众平台的配置1。获取appid、appsecret,添加白名单并登录微信公众平台进入基本配置。开发中需要两个参数,appId和app secret(app secret只显示一次,需要保存,否则需要重置)。当您获得access_token时,您需要添加一个IP白名单。
点击查看
单击修改
2.添加网页授权进入微信官方账号设置=“功能设置=“网页授权域名点击设置,在输入框中输入授权回调页面的域名,参考第1点(只能填写一个),下载第3点中的txt文档并上传到服务器的根目录。
二、php后端实现1。获取全局令牌。该令牌的有效期为2小时,可以临时存储。到期后,需要重新收购。PS:项目中必须使用相同的接口,否则很容易互相刷题导致过期。
公共静态函数getToken($ appid,$ app secret){ $ URL = & # 39;https://api.weixin.qq.com/cgi-bin/token?格兰特类型=客户证书& appid = & # 39。$appid。'& secret = & # 39。$ appsecretreturn Curl::call web server($ URL);}正确返回结果:{“access_token“:“ACCESS _ TOKEN“,“expires_in“:7200 }返回结果参数说明:参数说明表示ACCESS _ TOKEN获取的全局令牌expires _ in凭证的有效时间。单位:秒错误返回结果:{“errcode“:40013,“errmsg“:“invalid appid“}返回结果参数描述:返回代码描述-1系统繁忙,此时请开发人员稍后再试。0请求成功。40001 AppSecret错误或AppSecret不属于此微信官方账号。请要求开发人员确认AppSecret的正确性。40002请确保带有client_credential 40164的grant_type字段值的调用接口的IP地址不在白名单中,并请在接口IP白名单中设置它。(小程序和小游戏调用不要求IP地址在白名单中。) 2.用户获取微信官方账号关联的openid分为两步。首先,获取用户的微信官方账号的授权码,然后使用此码获取临时access_token和openid。
获取用户授权码
公共静态函数getCode($ appId,$redirect_uri,$state=1,$ scope = & # 39snsapi _ base & # 39,$ response _ type = & # 39代码& # 39;){ $ url = & # 39https://open.weixin.qq.com/connect/oauth2/authorize? appid = & # 39;。$appId。'& redirect _ uri = & # 39。$redirect_uri'& response _ type = & # 39。$response_type。'& scope = & # 39。$scope。'& state = & # 39。$state。'#微信_重定向& # 39;;标题(& # 39;地点:& # 39;。$url,true,301);}返回结果正确:返回代码code,跳转到回调页面$redirect_uri返回结果错误:{“errcode“:10003,“errmsg“:“redirect _ uri域名与后台配置不一致“}返回结果的参数描述:返回代码描述10003 redirect_uri域名与后台配置不一致10004此微信官方账号被禁止10005此微信官方账号没有这些范围的权限10006您必须注意此测试号100000手术太频繁了。请稍后再试。10010范围不能为空。10011 redirect_uri不能为空。10012 appid不能为空。10013状态不能为空。10015微信官方账号未授权第三方平台。请检查授权状态10016不支持微信开放平台的Appid。请将微信官方账号Appid通过getCode获取的代码兑换为网页授权的access_token和openid。
公共静态函数getAccessToken($ code,$appid,$appsecret,$ grant _ type = & # 39授权码& # 39;){ $ url = & # 39https://api.weixin.qq.com/sns/oauth2/access_token? appid = & # 39;。$appid。'& secret = & # 39。$appsecret。'& code = & # 39。$代码。'& grant _ type = & # 39。$grant_type。'';return Curl::call web server($ URL);}正确返回结果:{“access _ token“:“access _ token“,“expires _ in“:7200,“refresh _ token“:“refresh _ token“,“OpenID“:“OpenID“,“scope“:“scope“}返回参数说明参数说明access _ token网页授权接口调用凭证。注意:此access_token不同于基本支持的access_token。expires_in access_token接口调用凭证超时,单位为(秒)refresh_token用户刷新access_token openid用户的唯一ID。请注意,在不关注微信官方账号时,用户访问微信官方账号的网页也会生成一个用户授权的范围,并且是微信官方账号中唯一的openId范围用户。使用逗号(,)分隔错误并返回结果:{“errcode“:40029,“errmsg“:“无效代码“} 3。使用步骤2中获取OpenID和步骤1中获取的令牌获取用户信息。
公共静态函数get userinfo($ openId,$ token){ $ URL = & # 39;https://api.weixin.qq.com/cgi-bin/user/info?访问令牌= & # 39;。$token。'& openid = & # 39。$openId。'& lang = zh _ CN & # 39;return Curl::call web server($ query URL,& # 39;', 'GET & # 39);}正确返回结果:{“subscribe“:1,“OpenID“:“O6 _ bmjrptlm 6 _ 2 sgvt 7 hmzopfl 2m“,“昵称“:“band“,“sex“:1,“语言“:“zh_CN“,“城市“:“广州“,“省“:“广东“,“国家“:“中国“,“headimgurl“:“http://thirdwx . qlogo . CN/mm open/g3monuztnhkdmzicilibx 6 iafqac 56 vxl sufpb 6n 5 wksyvy 0 chqkkiajs值为0时,表示用户未关注微信官方账号,无法获取其余信息。目前微信官方账号中唯一昵称用户openid用户的身份为sex用户的性别,取值1为男性,取值2为女性。值为0时,为城市用户所在省、国家用户所在省、省用户所在省的语言用户的语言。简体中文是ZH _ CNheadimgur的用户头像,最后一个值表示方形头像的大小(0、46、64、96和132的值是可选的,0表示640*640方形头像)。如果用户没有头像,此项为空白。如果用户更改头像,原始头像URL将无效。Subscribe_time用户关注时间,即时间戳。如果用户关注过多次,取上次关注时间unionid。用户将微信官方账号绑定到微信开放平台账号后,才会出现该字段。备注微信官方账号运营者对粉丝的评论微信官方账号运营者可以在微信公众平台的用户管理界面为粉丝添加评论。groupid用户的GroupID(与旧的用户分组界面兼容)tagid_list用户使用标签ID list subscribe_scene进行标记,以返回用户关注的频道来源。ADD_SCENE_SEARCH微信官方账号搜索、ADD_SCENE_ACCOUNT_MIGRATION微信官方账号迁移、ADD_SCENE_PROFILE_CARD名片分享、ADD_SCENE_QR_CODE扫描二维码、点击ADD_SCENEPROFILE链接页面中的姓名、ADD_SCENE_PROFILE_ITEM图文页面右上角菜单、ADD _ SCENE _支付后关注、ADD_SCENE_OTHERS其他qr_scene二维码扫描场景(开发者定义)qr_scene_str二维码扫描场景描述(开发者定义)
公共函数is concern($ appId,$ app secret){ $ param = & # 39;';//如果有参数$ this -》get code($ appId,U(& # 39;回调& # 39;, 'param = & # 39。$param),1,& # 39;snsapi _ base & # 39);}授权后回电
public function callback(){ $ is concern = 0;$ code = $ this -》_ get(& # 39;代码& # 39;);$ param = $ this -》_ get(& # 39;param & # 39);$ appId = C(& # 39;appId & # 39);//在config(& # 39;appSecret & # 39);$ accessTokenInfo = $ this -》getAccessToken($ code,$appId,$ app secret);$ openId = $ accessTokenInfo【& # 39;openid & # 39];$ accessToken = $ accessTokenInfo【& # 39;access _ token & # 39];$ token = $ this -》getToken($ appId,$ app secret);$ userInfo = $ this -》get userInfo($ openId,$ token【& # 39;access _ token & # 39]);if($ userInfo【& # 39;订阅& # 39;】= = 1){ $ this -》分配(& # 39;用户信息& # 39;,$ userInfo);$ is concern = 1;//followed } else { $ is concern = 0;//不关心} $this-》分配(& # 39;openid & # 39,$ openId);$this-》显示(& # 39;第'页;);}此时,可以在页面上获取userInfo和isconcern。当isconcern为1时,表示您已关注微信官方账号,否则未关注。
相关建议:
微信微信官方账号开发微信微信官方账号,判断用户是否关注过php代码分析。
Php判断字符类型PHP判断用户是否关注微信微信官方账号。
视频:微信官方账号的关注和注销操作-0基础微信开发介绍
以上是代码还算好用,几步就可以判断用户是否关注了微信官方账号的详情。更多内容请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- Windows搭建IIS+PHP+MySQL环境(Windows搭建php服务器)
- 宝塔 panel php安装扩展失败怎么办(宝塔 panel php安装扩展失败怎么办?)
- 创建mysql索引极大地优化了php应用程序的性能(创建MySQL索引极大地优化了PHP应用程序的性能模块)
- Apache+MySQL+php环境安装(示例总结)(php安装mysqli扩展)
- 微信开发实现自定义菜单代码教程(如何从微信自定义菜单跳转到网页)
本文由主机参考刊发,转载请注明:代码还是很好用的,几步就能判断用户是否关注了微信官方账号(获取是否关注了微信官方账号) https://zhujicankao.com/104806.html
评论前必须登录!
注册