Maison > Applet WeChat > Développement WeChat > le corps du texte

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

黄舟
Libérer: 2017-01-16 11:06:09
original
2083 Les gens l'ont consulté

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(); 
}
Copier après la connexion

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


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal