이 글은 주로 WeChat 공개 플랫폼에 따라 PHP가 사용자의 기본 정보를 얻을 수 있는 방법을 소개합니다. 관심 있는 친구가 모든 사람에게 도움이 되기를 바랍니다.
WeChat을 타사 웹사이트와 결합하는 것은 많은 고객이 자주 요청하는 솔루션입니다. 다음은 WeChat 사용자의 기본 정보를 얻는 방법과 제3자 웹사이트에 직접 로그인하는 방법을 간략하게 소개합니다.
WeChat 공개 계정이 공식 계정을 팔로우하는 경우 고유한 OpenID가 생성됩니다. 이 때 아바타, 닉네임 등 사용자의 기본 정보를 얻기 위해 WeChat 서버에 요청해야 합니다.
자세한 지침은 WeChat 개발 설명서를 참조하세요.
획득 단계는 다음과 같습니다.
1 1단계: 사용자는 코드 승인 및 획득에 동의합니다.
2 2단계: 코드를 웹 페이지 인증 access_token으로 교환합니다.
3 3단계: access_token을 새로 고칩니다(만약 필요)
4 4단계: 사용자 정보 가져오기(범위는 snsapi_userinfo여야 함)
5 첨부: 인증 인증서(access_token)가 유효한지 확인
1. WeChat 공개 플랫폼에서 - 개발자 센터: 웹 페이지 인증을 획득합니다. 기본 사용자 정보: "수정"을 클릭하고 웹 페이지 콜백 도메인 이름을 구성하세요
2. 코드를 얻기 위한 사용자 인증
필수 리소스:
$appid = '************ *******';
$appsecret = '************************';
참고:redirect_url은 콜백 링크 주소입니다. 승인 후 리디렉션을 위해 urlencode를 사용하여 링크를 처리하세요.
구성된 $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=http%3A%2F%2Fjixian을 추가하세요. %2F&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect';
이의신청 URL에 대한 액세스를 요청하세요.
사용자가 승인하면 설정된 도메인 이름이 다시 호출되고 필요한 코드가 url 매개변수에 연결되어 $_GET['code']를 직접 사용할 수 있습니다!
3. 코드를 통해 웹페이지 승인 access_token 및 openid를 얻습니다
$token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$ appsecret .'&code='.$code.'&grant_type=authorization_code';
$token = json_decode(file_get_contents($token_url));
$opendid= $token->openid;
$access_token = $token->access_token ;
4. 사용자 정보 얻기
$info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$opendid.'⟨=zh_CN' ;
$info = json_decode(file_get_contents($info_url));
$data['name'] = $info->nickname;
$data['image'] = $info->headimgurl;
print_r($ info );
5. 사용자의 openid 및 기타 정보를 얻은 후 이를 데이터베이스에 저장할 수 있습니다. openid가 있는 한 이는 WeChat 사용자가 웹사이트에 로그인했음을 의미합니다!
AppID와 AppSecret으로 얻은 access_token을 사용하여 글로벌 Access Token을 통해 사용자의 기본 정보를 얻습니다
1. 사용자가 메시지를 팔로우하거나 답글을 달면 해당 사용자의 OpenID를 얻을 수 있습니다
<xml> <ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName> <FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName> <CreateTime>1372307736</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[subscribe]]></Event> <EventKey><![CDATA[]]></EventKey> </xml>
FromUserName은 OpenID
2. 그런 다음 access_token 인터페이스를 사용하여 전역 액세스 토큰
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
반환 결과:
{ "access_token": "NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjbLc_KAA092cxkmpj5FpuqNO0IL7bB0Exz5s5qC9Umypy-rz2y441W9qgfnmNtIZWSjSQ", "expires_in": 7200 }
3. 그런 다음 글로벌 ACCESS_TOKEN을 사용하여 OpenID 세부 정보 가져오기
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID
다음과 같이 반환하세요.
{
"구독": 1 ,
"openid" : "oLVPpjqs2BhvzwPj5A-vTYAX4GLc",
"nickname": "고슴도치 아기",
"sex": 1,
"언어": "zh_CN",
"city": "심천",
"지방 ": "광동" ,
"국가": "중국",
"headimgurl": "http://wx.qlogo.cn/mmopen/JcDicrZBlREhnNXZRudod9PmibRkIs5K2f1tUQ7lFjC63pYHaXGxNDgMzjGDEuvzYZbFOqtUXaxSdoZG6iane5ko9H30krIb zGv/0",
"subscribe_time": 1386160805
}
At 이 시점에서 사용자의 기본 정보를 얻습니다.
아래 공개 계정 팔로우 시 답글에 표시되는 것처럼, 팔로우 시 환영 메시지 + 사용자 닉네임을 답장하는 방식으로 가장 적합합니다. QR코드를 스캔하여 체험해 보세요.
요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 권장 사항:
위 내용은 PHP를 사용하여 WeChat 공개 플랫폼을 따르는 사용자의 기본 정보를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!