开发之前,首选你需要已经完成了基本的对接url通知等参数设置,拿到ticket
然后根据官方的文档
1.拿到第三方应用的suite_access_token ,下面的代码做了2小时的缓存。
function getoken($suite_id,$suite_secret){
//suite_access_token 第三方应用token
if(file_exists('atoken.json')){
$a=file_get_contents('atoken.json');
$b=json_decode($a,true);
if($b['expires_out']>time()){
return $b['token'];
}else{
}
}
$a=file_get_contents('ticket.txt');
$SuiteTicket=json_decode($a,true)['SuiteTicket'];
$url="https://qyapi.weixin.qq.com/cgi-bin/service/get_suite_token";
$json='{
"suite_id":"'.$suite_id.'" ,
"suite_secret": "'.$suite_secret.'",
"suite_ticket": "'.$SuiteTicket.'"
}';
$a=http_post_data($url,$json);
$b=json_decode($a,true);
if($b['errcode']==0){
$data['token']=$b['suite_access_token'];
$data['expires_out']=time()+7200;
file_put_contents('atoken.json',json_encode($data));
return $b['suite_access_token'];
}else{
echo $a;exit;
}
}
里面用到的suite_ticket,是微信每十分钟推送过来的,记得保存就行。
2.获得预授权码
function getpre_auth_code($suite_access_token){
//获取 预授权码
$url="https://qyapi.weixin.qq.com/cgi-bin/service/get_pre_auth_code?suite_access_token=".$suite_access_token;
$a=file_get_contents($url);
$b=json_decode($a,true);
return $b['pre_auth_code'];
}
3.获得临时授权码
注意:临时授权码是在第一次安装应用时,官方推送给你的,所以你要截取到,下面是截取的部分代码
$postObj = simplexml_load_string($sMsg, 'SimpleXMLElement', LIBXML_NOCDATA);
$InfoType = trim($postObj->InfoType);
//获取ticket
if($InfoType=='suite_ticket'){
file_put_contents('ticket.txt', json_encode($postObj));
}
//获取临时授权码
if($InfoType=='create_auth'){
$SuiteId = trim($postObj->SuiteId);
file_put_contents('tempuser/'.$SuiteId.'_auth.txt', json_encode($postObj));
}
获取到的是xml,我把它保存成了json:
{"SuiteId":"ww2b95e5baf***","AuthCode":"jju6cegS3U5wl3T6aak27G_eioFJ3xMl0wzeevQxgKObkTZanmw1Wi6r9PwaFKkgEbUiLFRGjwfkGreWcnd5q1IpPEyiDfxVb6Q1U-meEnc","InfoType":"create_auth","TimeStamp":"1631423859"}
4.根据临时授权码-获得永久授权码
function get_permanent_code($suite_access_token,$auth_code){
// 获取永久授权码
$url="https://qyapi.weixin.qq.com/cgi-bin/service/get_permanent_code?suite_access_token=".$suite_access_token;
$json='{
"auth_code": "'.$auth_code.'"
}';
$a=http_post_data($url,$json);
$b=json_decode($a,true);
return $b;
}
5.根据永久授权码,获得企业授权信息
function get_auth_info($auth_corpid,$permanent_code,$suite_access_token){
// 获取永久授权码
$url="https://qyapi.weixin.qq.com/cgi-bin/service/get_auth_info?suite_access_token=".$suite_access_token;
$arr=array('auth_corpid'=>$auth_corpid,'permanent_code'=>$permanent_code);
$json= json_encode($arr);
$a=http_post_data($url,$json);
$b=json_decode($a,true);
return $b;
}
好了,获得了企业信息后,你就可以录入你的数据库了。