머리말
WeChat 웹페이지 인증은 snsapi_base와 snsapi_userinfo 두 가지 방법으로 나누어집니다. snsapi_base는 공개 계정을 따라야 하며 사용자 정보를 얻을 때 사용자 인증 인터페이스가 팝업되지 않습니다. snsapi_userinfo는 사용자가 공식 계정을 따르지 않고 페이지를 탐색할 때 사용됩니다. 먼저 사용자 인증 인터페이스가 나타나며 사용자 정보는 사용자가 인증한 후에만 얻을 수 있습니다. 이 기사에서는 먼저 snsapi_base 구현을 살펴보겠습니다.
함정을 밟을 경우 주의
snsapi_base 모드에서 처음 디버깅을 시작할 때 페이지 주소를 클릭하면 메시지가 뜹니다. 주소 링크를 사용할 수 없으며, 공식 계정에서 웹페이지 인증을 위한 기본 정보, 즉 도메인 이름을 먼저 설정해야 합니다.
글로벌 access_token과 웹페이지 인증 access_token을 명확히 구분하세요
여기서는 도메인 이름만 입력하면 됩니다
효과를 확인하세요
여기서는 oauth snsapi_base를 통해 사용자의 기본 정보를 얻었음을 알 수 있습니다. 일반적인 컨설팅 개발에는 충분합니다.
아이디어 보기
1. 주소를 반환하여 먼저 코드를 받으세요.
2. 코드를 통해 openid를 받으세요.
3. appid 및 appsecret을 통해 전역 access_token을 가져옵니다(snsapi_userinfo와 다릅니다).
4. 글로벌 access_token 및 openid를 통해 사용자 정보를 얻습니다.
코드 보기
여기서는 간단합니다. 동시에 get 메소드를 사용하여 WeChat 인터페이스를 조정하는 것입니다. 메서드를 요청하고 반환 매개변수로 json을 사용합니다.
public ActionResult OAuthSnsApiBase() { 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)); string accesstoken = string.Empty; AccessToken token = HttpUtility.Get<AccessToken>(string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appID,appsecret)); if (token != null && !string.IsNullOrEmpty(token.access_token)) { accesstoken = token.access_token; } if (oauthToken != null && !string.IsNullOrEmpty(oauthToken.openid)) { OAuthUserInfo userInfo = HttpUtility.Get<OAuthUserInfo>(string.Format("https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}&lang=zh_CN", accesstoken, 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_base&state=123456 #wechat_redirect", appID,"http://"+Request.Url.Host + Url.Action("OAuthSnsApiBase"))); } } catch (Exception ex) { ViewData["errmsg"] = ex.Message; } return View(); }rrree
요약
여기서 사용자 정보를 얻는 인터페이스는 https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang입니다. = zh_CN. 사용자 인터페이스를 얻는 것은 웹페이지 인증 2와 다릅니다.
모든 코드는 github에 업로드됩니다: https://github.com /garfieldzf8/WeChat
참조
http://www.cnblogs.com/txw1958/p/weixin76-user-info.html
위 내용은 C# WeChat 공개 계정 개발 - 사용자 기본 정보를 얻기 위한 웹페이지 인증(oauth2.0) 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
