찾다
위챗 애플릿위챗 개발C# WeChat 공개 계정 개발 - 기본 사용자 정보를 얻기 위한 웹 페이지 인증(oauth2.0) 1

머리말

WeChat 웹페이지 인증은 snsapi_base와 snsapi_userinfo 두 가지 방법으로 나누어집니다. snsapi_base는 공개 계정을 따라야 하며 사용자 정보를 얻을 때 사용자 인증 인터페이스가 팝업되지 않습니다. snsapi_userinfo는 사용자가 공식 계정을 따르지 않고 페이지를 탐색할 때 사용됩니다. 먼저 사용자 인증 인터페이스가 나타나며 사용자 정보는 사용자가 인증한 후에만 얻을 수 있습니다. 이 기사에서는 먼저 snsapi_base 구현을 살펴보겠습니다.

함정을 밟을 경우 주의

  • snsapi_base 모드에서 처음 디버깅을 시작할 때 페이지 주소를 클릭하면 메시지가 뜹니다. 주소 링크를 사용할 수 없으며, 공식 계정에서 웹페이지 인증을 위한 기본 정보, 즉 도메인 이름을 먼저 설정해야 합니다.

  • 글로벌 access_token과 웹페이지 인증 access_token을 명확히 구분하세요

C# WeChat 공개 계정 개발 - 기본 사용자 정보를 얻기 위한 웹 페이지 인증(oauth2.0) 1

C# WeChat 공개 계정 개발 - 기본 사용자 정보를 얻기 위한 웹 페이지 인증(oauth2.0) 1

여기서는 도메인 이름만 입력하면 됩니다

효과를 확인하세요

여기서는 oauth snsapi_base를 통해 사용자의 기본 정보를 얻었음을 알 수 있습니다. 일반적인 컨설팅 개발에는 충분합니다.

C# WeChat 공개 계정 개발 - 기본 사용자 정보를 얻기 위한 웹 페이지 인증(oauth2.0) 1

아이디어 보기

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와 다릅니다.

C# WeChat 공개 계정 개발 - 기본 사용자 정보를 얻기 위한 웹 페이지 인증(oauth2.0) 1

C# WeChat 공개 계정 개발 - 기본 사용자 정보를 얻기 위한 웹 페이지 인증(oauth2.0) 1


모든 코드는 github에 업로드됩니다: https://github.com /garfieldzf8/WeChat

참조

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

위 내용은 C# WeChat 공개 계정 개발 - 사용자 기본 정보를 얻기 위한 웹페이지 인증(oauth2.0) 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

mPDF

mPDF

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

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

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

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

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

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기