微信小程序获取公众号code以及openId

微信小程序判断用户是否关注公众号-简要流程
版权 原文链接:树先生https://blog.csdn.net/weixin_39601000/article/details/105288342
没有需求就没有开发 需求在小程序内直接可以关注公众号 且如果已经关注则隐藏关注按钮;找了许多没有特别完整的 索性就把自己的做法给整理一下 步骤大致如下

1. 小程序关联公众号:
1.1 路径:小程序后台——设置——关注公众号

1.2 关联以后就可以直接在小程序内使用“”组件了 对应参考链接:https://developers.weixin.qq.com/miniprogram/dev/component/official-account.html

2. 获取用户是否关注公众号标识
2.1 实现:借用了小程序“web-view”组件来实现 注意需要先去小程序开发设置——业务域名 添加公众号设置的网页授权域名才可以访问;对应参考链接https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html

 **2.1.1 小程序设置跳转路径 获取code:URL必须是上面设置好的域名下的路径**
<web-view src="https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=URL&response_type=code&scope=snsapi_base#wechat_redirect"></web-view>
 2.1.2 通过code换取公众号openid和网页授权access_token (就是正常获取公众号openid流程 参考链接:[https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html))
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
 **2.1.3 获取通用接口access_token** (参考链接:https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/Nontax_Bill/API_list.html#1.1%20%E8%8E%B7%E5%8F%96access_token)注意:2.1.2获取到的网页授权access_token是无法用于后续请求的
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
 **2.1.4 通过通用接口access_token和公众号openid获取用户基本信息(即是否关注公众号标识)**参考链接:[https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html](https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html)
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
 建议将获取到的公众号openid与小程序openid对应关系 保存进表;供后续调用

3. 利用web-view的JSSDK接口携参跳转回小程序
//subscribe即为返回的是否关注公众号标识

<script>
wx.miniProgram.switchTab({url: '/pages/index/index?subscribe='+subscribe})
</script>
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值