微信开发获取已关注_微信开发 获取扫码关注事件 - CSDN
精华内容
参与话题
  • 公司业务需要获取用户观众公众号状态,即确定进入系统的用户是否关注了该公众号,根据这个结果进行相应的...调研,只有在微信的unionid机制下才能获取这个值,而在sns(我称之为)的模式下只能获得用户头像、昵称信息


    公司业务需要获取用户观众公众号状态,即确定进入系统的用户是否关注了该公众号,根据这个结果进行相应的动作。

    获取用户信息中有subscribe这个字段,其中==1表示关注了该公众号,==0表示没有关注该公众号。

    通过调研,看文档

    点击打开链接

    点击打开链接2

    调研,只有在微信的unionid机制下才能获取这个值,而在sns(我称之为)的模式下只能获得用户头像、昵称信息等信息

    unionid机制下的信息:

    {
       "subscribe": 1, 
       "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", 
       "nickname": "Band", 
       "sex": 1, 
       "language": "zh_CN", 
       "city": "广州", 
       "province": "广东", 
       "country": "中国", 
       "headimgurl":  "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4
    eMsv84eavHiaiceqxibJxCfHe/0",
      "subscribe_time": 1382694957,
      "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
      "remark": "",
      "groupid": 0,
      "tagid_list":[128,2]
    }
    sns机制下的信息:

    {
       "openid":" OPENID",
       " nickname": NICKNAME,
       "sex":"1",
       "province":"PROVINCE"
       "city":"CITY",
       "country":"COUNTRY",
        "headimgurl":    "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46", 
    	"privilege":[
    	"PRIVILEGE1"
    	"PRIVILEGE2"
        ],
        "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
    }
    通过上文给出的超链可以看出两种方式的请求url略有不一样,参数到是没有什么差别。

    下文给出sns这种方式java代码实现:

    HttpUriRequest httpUriRequest = RequestBuilder.get()
    				.setUri("https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code")
    				.build();




    展开全文
  • 本人最近要做微信公众号网页开发的项目,其中有个需求是判断用户是否关注公众号,由于之前没有接触过微信授权的东西,所以提前开始做调研。在度娘上看了好多博客、百度知道、百度经验、知乎问答等,还仔细阅读了微信...

            本人最近要做微信公众号网页开发的项目,其中有个需求是判断用户是否关注公众号,由于之前没有接触过微信授权的东西,所以提前开始做调研。在度娘上看了好多博客、百度知道、百度经验、知乎问答等,还仔细阅读了微信公众平台开发文档,大致了解到:

            微信网页授权分两种,第一种是snsapi_base(静默授权,用户无感知),第二种是snsapi_userinfo(第一次授权需要用户点击登录确认)。静默授权只需要两步就能拿到开发者需要的openID,而第二种授权方式,一共需要四步,可以拉取到用户信息(昵称、头像等)。具体过程这里不在赘述,参阅微信开发者文档。


            但是,本人发现一个不好的事情,获取到的用户信息里,并没有度娘告诉我的用于判断用户是否关注公众号的字段 subscribe 。然后,继续查阅博客、百度知道、百度经验、知乎问答,其中,有一篇博客让我如获至宝,下面是博客的截图:


            然后我就天真的相信,只有在unionID机制下,获取到的用户信息里才会有 subscribe 字段。后来,查看微信公众平台开发文档,其中有一段:


            那么,只有把公众号绑定到微信开放平台上才能使用unionID机制。所以自己就注册了一个微信开放平台,要绑定公众号的时候发现,只有完成开发者资质认证才能绑定。但是认证需要:



            以上只是一部分。这哪儿是我一个开发能做的事儿啊,所以向项目经理说明了情况,又向技术中心老大申请……,经过了一系列繁杂又不太顺利的流程。最后,让我来注册,需要什么材料找行政要。

            当然,在协调的过程中,我也没闲着,咨询了做过微信网页授权的同事,自己也继续翻阅微信开发文档(相当烂)、在本地尝试授权,获取用户信息,最终发现:不需要unionID机制,也能获取用户基本信息,拿到 subscribe 字段。那么正题来了!


    微信网页授权并获取用户基本信息(是否关注公众号、头像、昵称等)步骤:  

              1、用户同意授权,获取code(使用静默授权即可)

                   参阅 微信网页授权 第一步

                2、通过code换取  网页授权access_token  和 openID(此处的access_token为网页授权过程专用)

                    参阅 微信网页授权 第二步

                3、使用AppId和AppSecret:获取access_token

                    参阅  获取access_token

                4、使用openID和access_token获取用户基本信息

                    参阅 获取用户基本信息(包括UnionID机制)

    最终获取到的用户基本信息如下图:

            


            好了,到这里终于拿到了我需要的判断用户是否关注公众号的字段: subscribe 。


            饶了这么大圈子,有些感触:微信公众平台开发文档不容易看懂,unionID机制到底是啥,绑定了开放平台才叫unionID机制吗,那我现在这种调接口的方法(并没有绑定微信开放平台)属于unionID机制吗。

            再多说一句,其实这些逻辑,绝大部分是在后端完成的(access_token、appsecret安全等级都比较高)。所以,作为前端,只要调接口==》回调地址,再调接口==》得到用户基本信息。

    展开全文
  • 微信H5页面 1 静默授权 2 用户未关注公众号 如何获取用户信息(昵称、头像、性别等)
  • 并且需要先获取到全局access_token,这里不对全局access_token的获取做详细讲解,可以参考微信公众号开发文档获取,access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。...

    前言:        

          在微信公众号请求用户网页授权之前,开发者需要先在自己的公众平台配置好基本配置,修改授权回调域名JS安全域名。并且需要先获取到全局access_token,这里不对全局access_token的获取做详细讲解,可以参考微信公众号开发文档获取,access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

    正文:

    第一步:用户同意授权,获取code

          oppenid为一个微信用户的唯一编码,一个oppenid代表一个用户,获取这个值是我们辨别用户的唯一识别编号,那我们怎么获取它呢。

          用code来换取oppenid,code可在第二步用来获取oppenid和页面access_token,这个页面access_token和全局access_token不一样,页面access_token可用来获取用户基本信息。

          url参数的位置必须是按照下图这样排序,如果链接的参数顺序不对,授权页面将无法正常访问。跳转回调redirect_uri,可根据用户自己的需要跳转,并且可以在里面带参数,但须使用urlEncode对链接进行处理。

         参数scope可选择两种不同的方式为snsapi_base或者snsapi_userinfo,snsapi_base当用户打开的时候不会有提示授权页面,但下一步获取用户基本信息的时候必须用户关注微信公众号才能获得,而snsapi_userinfo则在用户不关注的情况下也能获得基本信息但会多一个提示授权的页面。类似下图

    参数说明:

     

     

    代码编写: 我这里用的需要用户授权的方式

    第二步:通过code换取网页授权access_token

            此处是回调方法,可以获得code,用code可获得网页授权access_token,这个access_token可用来获取用户基本信息,废话不多说直接上代码

     

    下面是调取方法的代码:

          获取oppenid和网页授权access_token

          WeChat_Var.getAppId()和WeChat_Var.getAppSecret()是公众号的appid和appsecret可登录绑定的公众号查看

     

    查询用户基本信息:

          网页授权access_token在此处用到,如果你的数据库编码是utf8mb4 -- UTF-8 Unicode则可不用去除微信名的特殊符号,如果不是则添加会乱码,用这个方法第一步的scope必须为snsapi_userinfo

    返回参数:

     

    查询用户是否关注公众号:

          如果用户关注了就可以活动用户名和头像等信息,没关注则为null

     

    去除特殊符号:

     当业务需求是需要关注公众号才能操作下一步的时候,可以使用snsapi_base,提高体验感,并且关注的情况下可获得基本信息。

    展开全文
  • 微信公众号开发--获取用户信息中文乱码的解决方案,获取自定义菜单中文乱码解决方案

    在微信开发中我们会经常需要获取用户的信息。
    微信给我们提供了获取用户信息的api,
    地址为

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

    将其中的access_token替换为我们的access_token
    openid为关注用户的openid就可以获取到用户的信息了。

    问题描述

    不过获取到的数据却是中文乱码

    这里写图片描述

    而用java程序获取的结果也是一样的

    这里写图片描述

    解决方案

    这个乱码主要是由于微信那边采用的是“ISO-8859-1”编码造成的。

    我们对获取的结果进行编码

    这里写图片描述

    关键代码

        String token = AccessTokenTool.getAccessToken();
        String URL = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";
        // 原始json
        String jsonResult = HttpUtil.sendGet(URL.replace("OPENID", openid).replace("ACCESS_TOKEN", token));
        System.out.println(jsonResult);
        // 编码后的json
        String json = new String(jsonResult.getBytes("ISO-8859-1"), "UTF-8");
        System.out.println(json);

    获取自定义菜单乱码也是一样的解决方法

    这里写图片描述

    参考文献

    获取用户基本信息(UnionID机制)
    HttpUtil工具类参考

    展开全文
  • 微信授权登录-前后端分离

    万次阅读 2019-04-30 17:33:05
    备注:目前只提供后端代码实现以及业务逻辑流程图服务号开发逻辑进入活动页面根据code和state参数判断,如果参数为空则调用微信授权URL路径接口,否则就调用获取用户授权信息接口,通过code和state就能够获取到当前...
  • 微信公众号开发测试帐号

    万次阅读 2018-01-10 10:33:01
    扫描关注后登录 ...填写JS接口安全域名 ,设置JS接口安全域后,通过关注该测试号,开发者即可在该域名下调用微信开放的JS接口,请阅读微信JSSDK开发文档。 注意:不知道啥原因,用自己的帐号申请测试
  • 在进行微信运营的时候,用户地理位置是我们进行营销策划、广告活动投放、用户精准营销的重要依据,今天我们就来分析一下微信开发中如何获取获取用户地理位置。 获取用户地理位置,你需要在微信公众平台开发者中心...
  • 摘要:上一篇总结了微信企业号开发的入门篇,access_token接口调用,这篇咱们来看下微信企业号开发中的网页授权接口调用,这个接口一般都是用来实现微信企业号应用免登录或者获取关注微信用户的个人信息时会用到。...
  • 微信公众平台获取网页授权(测试号)

    万次阅读 热门讨论 2016-01-30 15:06:05
    在测试微信公众号的网页开发授权的时候,总是提示scope参数错误啥的,获取不到正确的授权.经多方排查,发现确实是按照官方文档的流程做的,但就是出不来.折腾了半天,在qq群里询问了一下有经验的开发者,这才算是解决了....
  • 在上篇文章实现微信扫码获取带指定参数时,微信公众号后台启用了服务器配置,导致之前设置好的微信自定义菜单失效。 开启了服务器配置,就无法用之前的方式在微信公众平台配置自定义菜单 此时,我们要通过接口来...
  • 微信公众平台开发获取 UnionID

    万次阅读 2017-03-23 10:26:54
    微信公众平台更新,为开发者提供UnionID机制 ...经开发者反馈,由于同一公司下多个公众号之间需要用户帐号互通,微信开放平台提供了...通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息,而
  • 微信公众号的调试与测试

    万次阅读 2016-10-25 10:57:32
    作者:杨广辉 一、微信公众号简介 1、微信公众号介绍 微信公众号是开发者或商家在微信公众平台上申请的应用账号,...在这里可以通过微信渠道将品牌推广给上亿的微信用户,减少宣传成本,提高品牌知名度,打造更具影响力
  • 本文demo下载:wisdomdd.cn在开发微信公众号时,一旦用户关注微信公众号,用户后续的操作已经跟用户的信息进行了绑定,那这些绑定的信息其它是通过OpenId进行的,每个用户关注不同的微信公众号时会产生唯一且不同...
  • 微信小程序开发总结

    千次阅读 2018-09-14 07:16:02
    微信小程序基础官方教程社区链接 ...微信小程序-获取用户session_key,openid,unionid - 后端为nodejs 微信小程序用户数据的签名校验和加解密 - 后端nodejs 微信小程序-form表单提交 微信小程序-p...
  • 清理微信浏览器网页缓存的办法

    万次阅读 2017-12-25 15:31:15
    微信开发是件非常蛋疼的事情,微信网页的缓存是更加蛋疼的东西,今天遇到的问题:一个页面在web开发工具上可以正常授权并获取到openid,放在手机上就死活不行,网上找来的办法如下: 使用微信内置的浏览器打开...
  • 1、根据公众号的appid获取code $APPID=APPID;//公众号在微信的appid $REDIRECT_URI='http://www.ific.cc/check.php';//回调页面 // $scope='snsapi_base'; $scope='snsapi_userinfo';//需要授权 $url=...
  • 微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文: 功能:登录实现并获取到用户唯一标识 官方文档地址:可以先看完我的文章再看官方地址 实现步骤:1.调用微信API wx.login()得到...
  • 微信公众号基本配置时token获取失败原因及解决方法目前SAE(该服务器拿来专门做微信开发)中获得的所有请求应为来自微信服务器发出的请求,比如有人关注了你的公众号并向你发送了一条信息,微信服务器会把信息推送到...
  • 微信公众号开发之订阅号如何获取用户信息(一)

    万次阅读 热门讨论 2017-08-07 16:36:53
    但是目前新接了这样一个需求:要为一个微信的订阅号做一个类似于推广的活动,这样就需要获取登录这个活动的用户的信息,从而判断该用户有没有关注过改订阅号之类的功能。这样就需要让该微信订阅号获取到该用户的个人...
1 2 3 4 5 ... 20
收藏数 62,379
精华内容 24,951
关键字:

微信开发获取已关注