머리말
이번 글은 snsapi_userinfo를 구현한 글입니다. 사실 이 글을 쓸 당시에는 디버깅을 제대로 하지 못해 혼란스러웠지만, 프로그램과 아이디어를 반복해서 확인해 보았는데 문제는 없었습니다. 공식 계정, 그룹의 한 남자가 디버깅하기 전에 테스트 공식 계정을 사용했는데 나와 같은 문제가 발생하여 방금 공식 공식 계정으로 변경했다고 말했습니다. 그리고 snsapi_userinfo 메소드는 snsapi_base보다 간단하고 이해하기 쉽습니다.
먼저 문제를 설명드리겠습니다. snsapi_userinfo 방식은 공개 계정을 팔로우할 필요가 없어서 페이지 주소를 클릭해서 점프했는데 테스트 공개 계정을 팔로우하지 않았다는 메시지가 뜹니다.
구현 아이디어
기본 사용자 정보를 얻기 위한 웹 페이지 인증에 대한 이전 기사를 토대로 snsapi_userinfo를 구현하는 것이 모든 인터페이스를 조정하는 것이 더 빠릅니다. 방법.
1. 먼저 코드를 받으세요
2. 코드를 기반으로 웹페이지 인증 access_token과 openid를 가져옵니다. 여기서 WeChat은 하루에 12번만 access_token을 호출할 수 있도록 제한되어 있으므로 access_token을 얻은 후 캐시됩니다.
3. 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/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(); }
요약
웹 인증 인터페이스에서 사용자 정보를 얻기 위한 인터페이스는 다음과 같습니다: https://api.weixin .qq.com /sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN.
참고
http://www.cnblogs.com/net-xiejun/p/4632711.html
http://www.cnblogs.com/net-xiejun/p/4632711.html cnblogs.com/txw1958/p/weixin76-user-info.html
위는 사용자 기본정보를 얻기 위한 C# 위챗 공용계정 개발-웹페이지 인증(oauth2.0) 내용입니다 2. 자세한 내용은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 팔로우해주세요!