您好,登錄后才能下訂單哦!
小編給大家分享一下C#微信公眾號開發(fā)之網(wǎng)頁授權(quán)獲取用戶基本信息的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
前言
這一篇實現(xiàn)snsapi_userinfo,寫這篇時其實我是有疑惑的,因為我并沒有調(diào)試成功,但是我反復(fù)檢查程序和思路是沒有問題的,因為我使用的測試公眾號,群里一個伙計說他之前調(diào)試時用的也是測試公眾號也遇到了和我一樣的問題,然后換上正式公眾號就好了。而且我再三檢查了微信開發(fā)文檔里,snsapi_userinfo的方式是要比snsapi_base簡單的,也很好理解。
我先描述下問題吧,snsapi_userinfo的方式是不需要我們關(guān)注公眾號的,所以我就在未關(guān)注的情下點擊頁面地址跳轉(zhuǎn)后提示我未關(guān)注測試公眾號。
實現(xiàn)思路
有了上一篇網(wǎng)頁授權(quán)獲取用戶基本信息一的基礎(chǔ),再實現(xiàn)snsapi_userinfo就更快了,一路調(diào)接口。
1、先獲取code
2、根據(jù)code獲取網(wǎng)頁授權(quán)access_token和openid。 這里微信對access_token是有調(diào)用限制的,每天12次,所以拿到access_token后緩存起來。
3、根據(jù)access_token和openid獲取用戶信息。
看代碼
public ActionResult OAuthSnsApiUserInfo() { string code = Request.QueryString["code"]; try { if (!string.IsNullOrEmpty(code)) { OAuthToken oauthToken = HttpUtility.Get<OAuthToken> (string.Format("https://api.weixin.qq.com/sns/oauth3/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", appID, appsecret, code)); if (oauthToken != null && !string.IsNullOrEmpty(oauthToken.openid) && !string.IsNullOrEmpty(oauthToken.access_token)) { OAuthUserInfo userInfo = Get <OAuthUserInfo>(string.Format("https://api.weixin.qq.com/sns/userinfo?access_token={0}&openid={1}&lang=zh_CN", oauthToken.access_token, oauthToken.openid)); if (userInfo != null) { ViewData["headImage"] = userInfo.headimgurl; ViewData["openid"] = userInfo.openid; ViewData["nickName"] = userInfo.nickname; if (userInfo.sex == 0) { ViewData["sex"] = "未知"; } else if (userInfo.sex == 1) { ViewData["sex"] = "男"; } else { ViewData["sex"] = "女"; } ViewData["province"] = userInfo.province; ViewData["city"] = userInfo.city; } else { } } else { } } else { return Redirect(string.Format("https://open.weixin.qq.com/connect/oauth3/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_userinfo&state=123456 #wechat_redirect", appID,Server.UrlEncode("http://" + Request.Url.Host + Url.Action("OAuthSnsApiUserInfo")))); } } catch (Exception ex) { ViewData["errmsg"] = ex.Message; } return View(); }
總結(jié)
網(wǎng)頁授權(quán)二里獲取用戶信息的接口是:https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN。
以上是“C#微信公眾號開發(fā)之網(wǎng)頁授權(quán)獲取用戶基本信息的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。