Heim >WeChat-Applet >WeChat-Entwicklung >Entwicklung eines öffentlichen C#-WeChat-Kontos – Webseitenautorisierung (oauth2.0), um grundlegende Benutzerinformationen zu erhalten 2
Vorwort
Dieser Artikel implementiert snsapi_userinfo. Als ich diesen Artikel schrieb, war ich tatsächlich verwirrt, weil ich nicht erfolgreich debuggt habe, aber ich habe das Programm und die Ideen wiederholt überprüft und es gab kein Problem, weil ich Testing verwendet habe Beim offiziellen Konto sagte ein Mann aus der Gruppe, dass er vor dem Debuggen das offizielle Testkonto verwendet habe und auf das gleiche Problem wie ich gestoßen sei, und dann einfach zum offiziellen offiziellen Konto gewechselt sei. Und ich habe die WeChat-Entwicklungsdokumentation wiederholt überprüft. Die Methode snsapi_userinfo ist einfacher als snsapi_base und leicht zu verstehen.
Lassen Sie mich zunächst das Problem beschreiben. Die Methode von snsapi_userinfo erfordert nicht, dass wir dem offiziellen Konto folgen. Ich klickte also auf die Seitenadresse, um zu springen, und es wurde mir angezeigt, dass ich dem offiziellen Testkonto nicht gefolgt bin.
Implementierungsideen
Mit der Grundlage des vorherigen Artikels zur Webseitenautorisierung zum Erhalten grundlegender Benutzerinformationen wird es schneller sein, snsapi_userinfo zu implementieren und die Schnittstelle insgesamt anzupassen Weg.
1. Holen Sie sich zuerst den Code
2. Holen Sie sich das Webseiten-Autorisierungs-Access_token und die OpenID basierend auf dem Code. WeChat hat hier ein Limit für den Aufruf von access_token, 12 Mal am Tag, daher wird es nach Erhalt des access_tokens zwischengespeichert.
3. Erhalten Sie Benutzerinformationen basierend auf access_token und openid.
Sehen Sie sich den Code an
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/oauth2/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/oauth2/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(); }
Zusammenfassung
Die Schnittstelle zum Abrufen von Benutzerinformationen in der Web-Autorisierungsschnittstelle lautet: https://api .weixin.qq .com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN.
Referenz
http://www.cnblogs.com/net-xiejun/p/4632711.html
http://www. cnblogs.com/txw1958/p/weixin76-user-info.html
Das Obige ist der Inhalt der C# WeChat-Autorisierung für die Entwicklung öffentlicher Konten (oauth2.0), um grundlegende Benutzerinformationen zu erhalten 2. Weitere Informationen Für verwandte Inhalte folgen Sie bitte der chinesischen PHP-Website (www.php.cn)!