【微信公眾號】驗證用戶OpenID是否關注某個公眾號


1、獲取OpenID

     #region 獲取微信支付的OpenId

        /// <summary>
        /// 獲取微信支付的OpenId
        /// </summary>
        /// <returns></returns>
        public string GetPayOpenID()
        {
            try
            {
         
string code = Request.QueryString["code"]; if (string.IsNullOrEmpty(code)) { string url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + Constant.WX_PAY_APPID + "&redirect_uri=" + HttpUtility.UrlEncode(Request.Url.ToString()) + "&response_type=code&scope=snsapi_base&state=123#wechat_redirect"; } else { string url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + Constant.WX_PAY_APPID + "&secret=" + Constant.WX_PAY_APPSECRET + "&code=" + code + "&grant_type=authorization_code";
            string jsonResult = new System.Net.Http.HttpClient().GetStringAsync(url).Result; JToken jtoken = JToken.Parse(jsonResult); string openid = jtoken.Value<string>("openid"); return openid; } } catch (Exception ex) { } return ""; } #endregion

2、獲取Token

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

響應結果:

{
    "access_token":"O3PwqnKoiiYmsHeAh8viWLQyhGRrGU6RT9o53pvlmhIBWQnTXeZDSkYNw6YufzIDUspzQguvxtmLXtAWmQd2NmurXKa4N4PsbwG7RvI25pqzSC3-cLl50iqSW5VaZ4xmGXQgAFAJAT",
    "expires_in":7200
}

3、使用Token和OpenID獲取用戶信息

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

響應結果:

{
    "subscribe":1,
    "openid":"oeQDZt0n4VCZ70wy***",
    "nickname":"背上***旅行",
    "sex":1,
    "language":"zh_CN",
    "city":"昌平",
    "province":"北京",
    "country":"中國",
    "headimgurl":"http://wx.qlogo.cn/mmopen/kBwGJuwqK9**********************ibVUEpgFE90LH3b3uj7AYRjZP/0",
    "subscribe_time":1474964999,
    "unionid":"oGCG8t5**********jPQTPw",
    "remark":"",
    "groupid":0,
    "tagid_list":[

    ]
}
根據接口返回的subscribe字段判斷是否關注公眾號
1=關注;0=未關注;

subscribe:用戶是否訂閱該公眾號標識,值為0時,代表此用戶沒有關注該公眾號,拉取不到其余信息。


沒有關注的情況下,顯示這個。。。


今天又遇到這個問題了

{"subscribe":0,"openid":"oeQDZtzPrIYwOPXdzgKmd0gYPG44","unionid":"oGCG8tzd2NwsOYAeWAZMwV9rMmPU","tagid_list":[]}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM