WeChat 공개 계정 웹 승인에 대한 자세한 설명
이 모바일 단말기 시대에 WeChat 공식 계정은 점차 사람들이 정보를 얻는 채널이자 판매자가 잠재 고객을 개발하는 수단이 되었기 때문에 많은 프로그래머가 WeChat 개발로 전환했기 때문에 오늘은 이를 소개하겠습니다. WeChat 공개 계정 개발 시 웹페이지 인증을 어떻게 구현할 수 있나요?
사용자 정의 요청 인터페이스 함수를 제공하기 전에 이 함수는 다음 샘플 코드에서 인터페이스를 요청하는 데 사용됩니다.
이 함수의 기능은 인터페이스에 대한 요청을 시작하고 매개변수를 전달하고 데이터를 반환하는 것입니다. 인터페이스에 의해 반환됨
(이 안에 있는 코드는 자세히 설명하지 않습니다. 더 알고 싶다면 PHP 컬 함수 요약을 살펴보세요)
//自定义请求接口函数,$data为空时发起get请求,$data有值时发情post请求 function http_url($url,$data=null){ $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); if(!empty($data)){ curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); } $res = curl_exec($ch); if(curl_errno($ch)){ echo "error:".curl_error($ch); exit; } curl_close($ch); return $res; }
(에서 사용되는 인터페이스 이 기사는 Tencent에서 공식적으로 제공한 것입니다. WeChat 공개 플랫폼의 개발자 문서)
를 참조하세요. 1. 먼저 공개 계정을 구성해야 합니다
1. WeChat 공개 계정의 사용자 웹 페이지 권한을 부여하기 전에 개발자는 공개 플랫폼의 공식 웹사이트에서 "개발 - 인터페이스 권한 - 웹 서비스 - 웹 계정 - 기본 사용자 정보를 얻기 위한 웹 권한" 구성 옵션으로 이동해야 합니다. 인증 콜백 도메인 이름을 수정합니다. 여기에는 URL이 아닌 도메인 이름(문자열)이 입력되므로 http://와 같은 프로토콜 헤더를 추가하지 마세요.
2 인증 콜백 도메인 이름 구성 사양은 다음과 같습니다. 전체 도메인 이름(예: 웹페이지 인증이 필요함) 도메인 이름은 www.qq.com입니다. 구성 후 이 도메인 이름 아래의 페이지는 http://www.qq.com/music.html 및 http://입니다. OAuth2.0 인증에는 www.qq.com/login.html을 사용할 수 있습니다. 단, http://pay.qq.com, http://music.qq.com, http://qq.com은 OAuth2.0 인증을 수행할 수 없습니다3. 공식 계정 로그인이 제3자에게 승인된 경우. 개발자 관리를 위해 어떤 설정도 할 필요가 없습니다. 제3자가 공식 계정을 대체하여 웹 페이지 승인을 구현할 수 있습니다2. 사용자는 코드를 승인하고 획득하는 데 동의합니다
인터페이스 주소:https://open.weixin.qq .com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect (인터페이스 매개변수에 주의하세요)
function Get_Code() //获取code { //构造请求地址 $code_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=微信公众号appid&redirect_uri=请求功后回调地址&response_type=code&scope=snsapi_userinfo&state=STATE #wechat_redirect"; //跳转到请求地址,应为本省设置了回调地址,所以不需要使用file_get_content()来请求接口。 header("location:" . $code_url); exit; }
3. 획득한 코드에 access_token 및 openid
인터페이스: https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID
/** * 通过获取到的code来获取access_token和openid * $code为获取到的code * 接口的参数注意换成自己的,如appid和secret */ function GetAccess_Token($code) { $get_access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=secret&code=$code&grant_type=authorization_code"; $res = http_url($get_access_token_url); return json_decode($res, true); }
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
/** * 检查access_token是否有效 * */ function CkeckAccessToken($access_token, $openid) { $check_url = "https://api.weixin.qq.com/sns/auth?access_token=$access_token&openid=$openid"; $res = http_url($check_url); $result = json_decode($res, true); if (isset($result['errmsg']) && $result['errmsg'] == 1) { return 1; //access_token有效 } else { return 0; //access_token无效 } }
인터페이스:
获取到用户信息数据:/** * 获取用户基本信息 * */
function Get_User_Info($access_token, $openid){
$get_user_info = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
$res = http_url($get_user_info);
return json_decode($res, true);
}
{
"openid":" OPENID",
" nickname": NICKNAME,
"sex":"1",
"province":"PROVINCE"
"city":"CITY",
"country":"COUNTRY",
"headimgurl": "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
"privilege":[ "PRIVILEGE1" "PRIVILEGE2" ],
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
下面上完整代码:
<?php
//跳转第三方页面,获取用户基本信息
// 这是请求页面也是code的回调页面
session_start(); //启动session
if (isset($_GET['code'])) { //判断是否有code传过来,如果没有调用函数请求code
$res = GetAccess_Token($_GET['code']); //使用code获取access_token和openid
if (CkeckAccessToken($res['access_token'], $res['openid']) == 0) { //判断access_token是否有效,如果无效获取新的access_token
$res = GetRefresh_Token($res['refresh_token']); //或缺新的access_token
}
$userinfo = Get_User_Info($res['access_token'], $res['openid']); //获取用户信息
$_SESSION['userinfo'] = $userinfo; //将用户信息存入session中
$next_url = 'http://web/index.php'; //下一个页面地址
header("location:" . $next_url); //获取到信息后跳转到其他页面
exit;
} else {
//获取code
Get_Code();
}
function Get_Code() //获取code{
$code_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=appid&redirect_uri=回调地址&response_type=code&scope=snsapi_userinfo&state=STATE #wechat_redirect";
header("location:" . $code_url);
exit;
}
/**
* 通过获取到的code来获取access_token和openid
*
*/
function GetAccess_Token($code){
$get_access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=secret&code=$code&grant_type=authorization_code";
$res = http_url($get_access_token_url);
return json_decode($res, true);
}
/**
* 检查access_token是否有效
*
*/
function CkeckAccessToken($access_token, $openid){
$check_url = "https://api.weixin.qq.com/sns/auth?access_token=$access_token&openid=$openid";
$res = http_url($check_url);
$result = json_decode($res, true);
if (isset($result['errmsg']) && $result['errmsg'] == 1) {
return 1; //access_token有效
} else {
return 0; //access_token无效
}
}
/**
* 如果获取到的access_token无效,通过refresh_token来刷新access_token
*/
function GetRefresh_Token($refresh_token){
$get_refresh_token_url = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=appid&grant_type=refresh_token&refresh_token=$refresh_token";
$res = http_url($get_refresh_token_url);
return json_decode($res, true);
}
/**
* 获取用户基本信息
*
*/
function Get_User_Info($access_token, $openid){
$get_user_info = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
$res = http_url($get_user_info);
return json_decode($res, true);}
//自定义请求接口函数,$data为空时发起get请求,$data有值时发起post请求
function http_url($url,$data=null){
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
if(!empty($data)){
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
}
$res = curl_exec($ch);
if(curl_errno($ch)){
echo "error:".curl_error($ch);
exit;
}
curl_close($ch);
return $res;
}
위 내용은 WeChat 공개 계정 웹 승인에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

일부 애플리케이션이 제대로 작동하지 않는 회사의 보안 소프트웨어에 대한 문제 해결 및 솔루션. 많은 회사들이 내부 네트워크 보안을 보장하기 위해 보안 소프트웨어를 배포 할 것입니다. ...

H5는보다 유연하고 사용자 정의 가능하지만 숙련 된 기술이 필요합니다. 미니 프로그램은 신속하게 시작하고 유지 관리가 쉽지만 WeChat 프레임 워크에 의해 제한됩니다.

H5. 미니 프로그램과 앱의 주요 차이점은 다음과 같습니다. 기술 아키텍처 : H5는 웹 기술을 기반으로하며 미니 프로그램 및 앱은 독립적 인 응용 프로그램입니다. 경험과 기능 : H5는 가볍고 사용하기 쉽고 기능이 제한되어 있습니다. 미니 프로그램은 가벼우 며 상호성이 우수합니다. 앱은 강력하고 부드러운 경험이 있습니다. 호환성 : H5는 크로스 플랫폼 호환성이며 애플릿 및 앱은 플랫폼에 의해 제한됩니다. 개발 비용 : H5는 개발 비용이 낮고 중간 미니 프로그램 및 최고 앱이 있습니다. 적용 가능한 시나리오 : H5는 정보 표시에 적합하고 애플릿은 가벼운 응용 프로그램에 적합하며 앱은 복잡한 기능에 적합합니다.

Enterprise Wechat의 JS 자원 캐싱 문제에 대한 토론. 프로젝트 기능을 업그레이드 할 때, 일부 사용자는 종종 특히 기업에서 성공적으로 업그레이드하지 않는 상황을 발생시킵니다.

회사 보안 소프트웨어 및 응용 프로그램을위한 호환성 문제 및 문제 해결 방법. 많은 회사들이 인트라넷 보안을 보장하기 위해 보안 소프트웨어를 설치할 것입니다. 그러나 보안 소프트웨어 가끔 ...

이 기사는 중국의 Ouyi Okx 앱의 안전한 다운로드에 대한 자세한 안내서를 제공합니다. 국내 앱 스토어의 제한으로 인해 사용자는 OUYI OKX의 공식 웹 사이트를 통해 앱을 다운로드하거나 공식 웹 사이트에서 제공 한 QR 코드를 사용하여 스캔 및 다운로드하는 것이 좋습니다. 다운로드 프로세스 중에 공식 웹 사이트 주소를 확인하고 응용 프로그램 권한을 확인하고 설치 후 보안 스캔을 수행하며 2 요인 확인을 활성화하십시오. 사용하는 동안 현지 법률 및 규정을 따르고, 안전한 네트워크 환경을 사용하고, 계정 보안을 보호하고, 사기에 대해 경계하고, 합리적으로 투자하십시오. 이 기사는 참조 용이며 투자 조언은 자신의 위험에 처해 있습니다.

H5 개발 도구 권장 사항 : VSCODE, WebStorm, Atom, 브래킷, 숭고한 텍스트; 미니 프로그램 개발 도구 : WeChat 개발자 도구, Alipay Mini 프로그램 개발자 도구, Baidu Smart Mini 프로그램 IDE, Toutiao Mini 프로그램 개발자 도구, Taro.

이 기사는 2025 년에 업데이트 된 Binance Virtual Currency의 구매 및 판매에 대한 간단한 안내서를 제공하며 Binance 플랫폼에서 가상 통화 트랜잭션의 작동 단계를 자세히 설명합니다. 이 안내서는 Fiat 통화 구매 USDT, 기타 통화 (예 : BTC)의 통화 거래 구매 및 시장 거래 및 한도 거래를 포함한 판매 운영을 다룹니다. 또한이 안내서는 구체적으로 Fiat 통화 거래에 대한 지불 보안 및 네트워크 선택과 같은 주요 위험을 상기시켜 사용자가 Binance 거래를 안전하고 효율적으로 수행 할 수 있도록 도와줍니다. 이 기사를 통해 Binance 플랫폼에서 가상 통화를 구매 및 판매하는 기술을 신속하게 마스터하고 거래 위험을 줄일 수 있습니다.
