Heim  >  Artikel  >  WeChat-Applet  >  Entwicklung eines öffentlichen C#-WeChat-Kontos – Webseitenautorisierung (oauth2.0), um grundlegende Benutzerinformationen zu erhalten 2

Entwicklung eines öffentlichen C#-WeChat-Kontos – Webseitenautorisierung (oauth2.0), um grundlegende Benutzerinformationen zu erhalten 2

黄舟
黄舟Original
2017-01-16 11:06:092017Durchsuche

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)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn