NET+EF+MVC开发小程序接口时如何判断小程序用户是否关注了公众号

360影视 动漫周边 2025-03-10 09:43 3

摘要:大家好!我们在开发微信小程序时,需要引导扫描小程序二维码用户,同时关注同一公司主体下的公众号,以前是小程序用户支付成功后自动关注公众号,但是这个功能被腾讯给关闭了,我们就得引导小程序用户关注公众号,以便以后用公众号发推文的时候,用户第一时间能接受到公众号推送的

大家好!我们在开发微信小程序时,需要引导扫描小程序二维码用户,同时关注同一公司主体下的公众号,以前是小程序用户支付成功后自动关注公众号,但是这个功能被腾讯给关闭了,我们就得引导小程序用户关注公众号,以便以后用公众号发推文的时候,用户第一时间能接受到公众号推送的消息,通过公众号引流到小程序,便于自家产品销售。

一、前置条件,1047 扫描小程序码,可展示关注公众号组件。

二、整体思路:通过获得用户的微信公众号的openid,然后通过access_token和openid得到用户的详细信息,其中字段subscribe为0是未关注,1是已关注

1.微信小程序发起 微信登录请求,获得code ;

2.通过code获得用户微信公众号的openid备用;

3.调用接口凭证获取 access_token(get方式 ),该种方式获取 access_token 公众号和小程序通用。

4.通过access_token和openid 获得用户详细信息,其中字段subscribe为0是未关注,1是已关注

三、详细操作步骤:

1、在手机微信打开,静默授权

https://open.weixin.qq.com/connect/oauth2/authorize?appid=111&redirect_uri=http://www.goupiaotong.cn&response_type=code&scope=snsapi_base&state=QinMing579#wechat_redirect

2、在手机微信打开,出授权弹窗

https://open.weixin.qq.com/connect/oauth2/authorize?appid=111a&redirect_uri=http://www.goupiaotong.cn&response_type=code&scope=snsapi_userinfo&state=QinMing579#wechat_redirect

复制链接,得到code

http://www.goupiaotong.cn/?code=061hlZll2yRHaf4xocol2kAyTK3hlZlk&state=QinMing579

3、将code的值带入以下连接,get请求, 需要在远程服务器浏览器访问即可

https://api.weixin.qq.com/sns/oauth2/access_token?appid=111&secret=222&code=001Xxdll2Qqrcf4wJznl27hI2d1XxdlS&grant_type=authorization_code

{

"access_token": "90_AAB1sO4cVHhoLkLN6RGebxyLPoMaA6faEPRu0DYJGsOU8aCWV-5oDkivu_tuHMJEaYtMCTrWiB--aaFGP3UJS0YsxgG2pRFlWkeHLm1s1jY",

"expires_in": 7200,

"refresh_token": "90_jeCiu8sltdOEuMZegc1b19_NSkldvC3mNiMM8HsqpnOiB7501bVKVx9rHclAbbm7rkG9TyZmEfi17yiOJvGo8Dw7I3LfdfpwN9GLrincggI",

"openid": "orqTtv6Whe-RRaBZ3XbRLS37MU3Y",

"scope": "snsapi_base"

}

{

"access_token": "90_avCyM4MK9_JqcQY8vFdV3W1BgD9yH5kBaopmTlpBzOursJOkih8RGTBFkY3_lVpLAUunRyy0_OCiaV08BKRGanUmVusVyNyRL99yPQjLzm4",

"expires_in": 7200,

"refresh_token": "90_m15feipidh1X7j3Thz6cuEvSoje58gY80FS-u1UuP6C1B8heUd4cAmF2GT5bAxwbyqdNuJB9kCrN8-AJwtTRKs71AHBQuHv6QT_o23J477w",

"scope": "snsapi_userinfo",

"unionid": "oqYNJwF2U1MktxbB-NZz7bcE2A-I"

}

4、接口调用请求说明 http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

a、get方式,在postman或服务器浏览器上请求获得access_token

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=111&secret=222

{

"access_token": "90_BdjjOEvbAWU_aiZf4XQtPRyansIzpRAYWrp16dGvz5T5IyMeB1MSZcv-hPn-tH1TfmePE8mS159qiJWvelxUm9oXm7bNal9oVq5drl-y9T4Swv3pAGHMfWPBbN4PSKaABAUXP",

"expires_in": 7200

}

b、get方式,access_token和openid赋值以下,并在postman或服务器浏览器上请求,获得用户详细信息,其中字段subscribe为0是未关注,1是已关注

https://api.weixin.qq.com/cgi-bin/user/info?access_token=90_BdjjOEvbAWU_aiZf4XQtPRyansIzpRAYWrp16dGvz5T5IyMeB1MSZcv-hPn-tH1TfmePE8mS159qiJWvelxUm9oXm7bNal9oVq5drl-y9T4Swv3pAGHMfWPBbN4PSKaABAUXP&openid=orqTtv6Whe-RRaBZ3XbRLS37MU3Y&lang=zh_CN

{

"subscribe": 1,

"nickname": "",

"sex": 0,

"language": "zh_CN",

"city": "",

"province": "",

"country": "",

"headimgurl": "",

"unionid": "oqYNJwF2U1MktxbB-NZz7bcE2A-I",

"remark": "",

"groupid": 0,

"tagid_list": ,

"subscribe_scene": "ADD_SCENE_OTHERS",

"qr_scene": 0,

"qr_scene_str": ""

}

四、通过返回的json串,其中字段subscribe为0是未关注,1是已关注。至此通过程序就可以判断小程序用户是关注了公众号还是没有关注公众号,如果用户没有关注,前端就弹出关注公众号弹窗,如果关注了就不显示关注弹窗。

来源:我就这样咋地了

相关推荐