Maison  >  Article  >  Applet WeChat  >  Développement de compte public C# WeChat - Autorisation de page Web (oauth2.0) pour obtenir des informations de base sur l'utilisateur 2

Développement de compte public C# WeChat - Autorisation de page Web (oauth2.0) pour obtenir des informations de base sur l'utilisateur 2

黄舟
黄舟original
2017-01-16 11:06:092081parcourir

Avant-propos

Cet article implémente snsapi_userinfo. Lorsque j'ai écrit cet article, j'étais en fait confus car je n'avais pas débogué avec succès, mais j'ai vérifié à plusieurs reprises le programme et les idées et il n'y a eu aucun problème, car j'ai utilisé Testing. le compte officiel, un gars du groupe a dit qu'il avait utilisé le compte officiel de test avant le débogage et qu'il avait rencontré le même problème que moi, puis il a juste changé pour le compte officiel officiel. Et j'ai vérifié à plusieurs reprises la documentation de développement WeChat. La méthode snsapi_userinfo est plus simple que snsapi_base et facile à comprendre.

Laissez-moi d'abord décrire le problème. La méthode snsapi_userinfo ne nous oblige pas à suivre le compte public, j'ai donc cliqué sur l'adresse de la page pour sauter et cela m'a indiqué que je n'avais pas suivi le compte public de test.

Idées d'implémentation

Avec la base de l'article précédent sur l'autorisation de page Web pour obtenir des informations utilisateur de base, il sera plus rapide d'implémenter snsapi_userinfo, en ajustant l'interface tout le temps. chemin.

1. Obtenez d'abord le code

2. Obtenez l'autorisation de la page Web access_token et openid en fonction du code. WeChat a ici une limite d'appel à access_token, 12 fois par jour, il est donc mis en cache après avoir obtenu l'access_token.

3. Obtenez des informations utilisateur basées sur access_token et openid.

Regardez le code

 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(); 
}

Résumé

L'interface pour obtenir les informations utilisateur dans l'interface d'autorisation web est : https://api .weixin.qq .com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN.

Référence

http://www.cnblogs.com/net-xiejun/p/4632711.html

http://www. cnblogs.com/txw1958/p/weixin76-user-info.html

Ce qui précède est le contenu de l'autorisation de page Web de développement de compte public C# WeChat (oauth2.0) pour obtenir des informations de base sur l'utilisateur 2. Pour plus contenu associé, veuillez suivre le site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn