微信小程序引导关注公众号(超详细),获取公众号openID,是否关注公众号信息

这篇具有很好参考价值的文章主要介绍了微信小程序引导关注公众号(超详细),获取公众号openID,是否关注公众号信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求背景:微信小程序里,需要判断使用该小程序的用户是否有关注该小程序关联的公众号,如未关注要引导用户去关注公众号(用于公众号推送信息)

开发前配置

1、小程序–设置–关注公众号

小程序判断用户是否关注公众号,微信小程序,小程序,微信公众平台

2、小程序–开发管理–开发设置–业务域名(配置业务域名,并将检验文件放入到域名根目录下)

小程序判断用户是否关注公众号,微信小程序,小程序,微信公众平台

3、公众号管理平台-公众号设置–功能设置-网页授权域名加上和上面小程序业务域名一样的域名地址。

小程序判断用户是否关注公众号,微信小程序,小程序,微信公众平台

查看是否关注公众号:

官网:
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

(1)、用户同意授权,获取code

接口(获取Code):

https://open.weixin.qq.com/connect/oauth2/authorize?appid=${APPID}&redirect_uri=${REDIRECT_URI}&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

参数:
APPID:公众号的唯一标识 redirect_uri:授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理 http://test/test.html
用户同意授权,页面将跳转
http://test/test.html?code=CODE&state=STATE
代码:

<view class="list-wrap">
	<web-view src="https://open.weixin.qq.com/connect/oauth2/authorize?appid={{appid}}&redirect_uri={{url}}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect"></web-view>
</view>

Page({
  /**
   * 页面的初始数据
   */
  data: {
    url: 'http://test/test.htm',
    appid:'wxfe00000000'
  },
})

小程序判断用户是否关注公众号,微信小程序,小程序,微信公众平台
点击同意之后会重定向到test.html 的页面 并携带参数 code=CODE&state=STATE。
test.html页面代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
	</body>
</html>
<!-- 引入weixin-js-sdk线上版本 -->
<script charset="utf-8" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script type="text/javascript">
	function Get() {
		let appid = "wxfe00000000"; //公众号appid
		let redirect = encodeURIComponent(window.location.href); //重定向回来的地址
		// let redirect =window.location.href //重定向回来的地址
		let wx_code = this.getUrlParam("code"); // 截取url中的code
		//判断有没有code
		if (!wx_code) {
			console.log('失败了?')
			//获取code的地址。获取成功重定向后地址栏中将会带有code,判断没有code的话,就跳转到微信官方链接上获取,获取成功后会再重定向回来,注意url是需要使用encodeURIComponent处理一下编码的
			window.location.href =`https://open.weixin.qq.com/connect/oauth2/authorizeappid=${appid}&redirect_uri=${redirect}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`;
		} else {
			console.log('成功了?')
			// 获取到了code
			this.toWeChat(wx_code); //把code传给后台获取用户信息
		}
	}
	//getUrlParam方法就是使用正则截取地址栏里的code
	function getUrlParam(name) {
		var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
		var r = window.location.search.substr(1).match(reg);
		if (r != null) return unescape(r[2]);
		return null;
	}
	function toWeChat(code) {
		// 调整微信的/pages/index/index页面,并携带Code
		wx.miniProgram.navigateTo({
			url: '/pages/index/index?code=' + code
		})
	}
	Get()
</script>

(2)、获取ACCESS_TOKEN 以及 OPENID

接口(获取ACCESS_TOKEN):

https://api.weixin.qq.com/sns/oauth2/access_token?appid=${APPID}&secret=${SECRET}&code=${CODE}&grant_type=authorization_code

参数:APPID:公众号appID SECRET:应用密钥 AppSecret(不建议直接填写,最好通过接口获取) CODE:刚刚获取的Code值
小程序判断用户是否关注公众号,微信小程序,小程序,微信公众平台
返回:

{
  "access_token":"ACCESS_TOKEN",
  "expires_in":7200,
  "refresh_token":"REFRESH_TOKEN",
  "openid":"OPENID",
  "scope":"SCOPE",
  "is_snapshotuser": 1,
  "unionid": "UNIONID"
}

(3)、接口(是否关注公众号):

https://api.weixin.qq.com/cgi-bin/user/info?access_token=${ACCESS_TOKEN}&openid=${OPENID}&lang=zh_CN

参数: ACCESS_TOKEN:调用接口凭证 (上一步获取的access_token) OPENID:普通用户的标识在这里插入代码片,对当前公众号唯一(上一步获取的openid)
返回:

	"subscribe": 1, //用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号
    "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", //用户的标识,对当前公众号唯一
    "language": "zh_CN", 
    "subscribe_time": 1382694957,
    "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL",
    "remark": "",
    "groupid": 0,
    "tagid_list":[128,2],
    "subscribe_scene": "ADD_SCENE_QR_CODE",
    "qr_scene": 98765,
    "qr_scene_str": ""

引导用户关注公众号

小程序跳转公众号关注页面的两种方法

1、web-view方法(不能使用了)

写好了发现换了手机就提示无法打开该页面 啊啊啊啊啊谁懂啊,然后查了一下现在不能使用这种方法了
小程序判断用户是否关注公众号,微信小程序,小程序,微信公众平台

2、official-account方法(场景有限)

小程序判断用户是否关注公众号,微信小程序,小程序,微信公众平台
小程序判断用户是否关注公众号,微信小程序,小程序,微信公众平台
小程序判断用户是否关注公众号,微信小程序,小程序,微信公众平台文章来源地址https://www.toymoban.com/news/detail-611285.html

到了这里,关于微信小程序引导关注公众号(超详细),获取公众号openID,是否关注公众号信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序通过web-view网页授权获取用户公众号OpenID

    第一步: 通过该地址 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfot=sandbox/index 获取到微信公众号测试号AppID与appsecret (测试公众号可以测试使用,个人公众号不允许使用。微信认证服务号可以使用,微信认证订阅号不可以使用)。 接口权限查看链接: https://developers.weix

    2024年02月08日
    浏览(54)
  • 【小程序】微信小程序中实现【关注公众号】弹窗

    1、效果,注意,在开发工具中并不显示公众号信息,只有在体验版和正式版中才能看到!

    2024年02月15日
    浏览(44)
  • 微信小程序获取openid,微信小程序获取手机号

    工具类

    2024年02月16日
    浏览(40)
  • 微信小程序official-account组件 关注公众号的使用

    官方文档链接official-account 1.使用组件前,需前往小程序后台,在“设置”-“关注公众号”中设置要展示的公众号。注:设置的公众号需与小程序为同主体或关联主体。 只需写下面一行代码 其实有上面的代码就够了 效果已经出来了 下面代码起辅助作用 调试 扫码打开也可以

    2024年02月16日
    浏览(44)
  • 微信小程序获取openId

    在微信小程序中,我们无法直接从客户端获取用户的openid,因为openid是保存在微信服务器上的。但是,我们可以通过微信提供的登录接口,使用用户授权登录的方式获取用户的openid。 具体步骤如下: 1. 在小程序中引入`wx.login`方法,调用该方法会返回一个`code`,这个`code`用于

    2024年02月15日
    浏览(35)
  • 微信小程序获取openid流程

    调用wx.login(OBJECT) 获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。 返回数据信息: { errMsg: 调用结果 code: 用户登录凭证(有效期五分钟)。开发者需要在开发

    2024年02月14日
    浏览(34)
  • 微信小程序----API、获取openid、消息订阅

    https://www.w3xue.com/mobile/wxminiapp/hpm41q8p.html 基础: API,全称Application Programming Interface,即应用程序编程接口。 API 是一些预先定义函数,目的是用来提供应用程序与开发人员基于某软件或者某硬件得以访问一组例程的能力,并且无需访问源码或无需理解内部工作机制细节。 API

    2024年02月09日
    浏览(31)
  • 【微信小程序】通过云函数获取用户openid

    1.pages同级目录下新建新文件夹,命名为cloudFunctions(其他名字也可以)。 2.project.config.json中添加以下内容,值为上一步创建的文件夹名字。编译一次后上一步创建的文件夹前图标就带“云”了。 3.app.js内的App中添加 1.右击cloudFunctions文件夹,点击【新建Node.js云函数】,命名为

    2024年02月10日
    浏览(37)
  • 通过小程序获取公众号openid

    需求: 由于小程序不能直接向用户发送模板消息,所以需要用公众号向用户发送模板消息。 于是需要将小程序的openid和公众号的openid绑定在一起。提供两种思路: 方法一: 1.微信小程序和公众号都绑定到微信开放平台上,这样小程序登录获取用户信息的时候可以拿到微信用户

    2024年02月09日
    浏览(29)
  • uniapp写微信小程序,获取openId、unionId

    appId,secret   可以从微信公众平台获取,(点击右上角头像,向下滑,可以找到) 注意:这个一般写了app.vue里有个onlanch函数,否则有可能在进入小程序时获取不到openid 微信接口路径为 “https://api.weixin.qq.com/sns/jscode2session” 获取unionId的前提条件:微信开放平台绑定你的小程

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包