新建企业,创建应用
第一步:新建企业
这里登录企业微信官网
直接就可以注册一个企业微信了
第二步:创建应用
这里使用企业微信可能自己的公司会有一些定制化的功能,想把自己的功能放到企业微信里面,这时候就可以在企业微信里面创建应用,嵌入自己的功能了
配置应用
获取当前登录用户信息
流程步骤:
第一步:获取access_token
第二步:在应用上写回调接口,用来接受code
第三步:获取code
第四步:通过access_token和code获取用户信息(user_ticket)
第五步:通过通过access_token和user_ticket获取用户详情信息
需要看的接口文档:
开发前必读
基本概念介绍
获取access_token
获取access_token - 接口文档 - 企业微信开发者中心
其他的就自己看自己需要什么,再看对应的文档就可以了
代码:
//在企业微信应用里面调用的方法 获取个人信息
public function qyWxTest()
{
/* 参考接口
https://developer.work.weixin.qq.com/document/path/91122*/
$userResult = $this->authUser();
$access_token = $this->getAccessToken();
//$canshu = $userid ;
$param = array(
"user_ticket" => $userResult['user_ticket'],
);
//$url = "https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=$access_token";
$url = "https://qyapi.weixin.qq.com/cgi-bin/auth/getuserdetail?access_token=$access_token";
//$info = $this->https_request($url,$canshu);
$info = Dhttp::curlJson($param,$url,'POST'); //这里是调用的post传json
$this->render("Test:qyWxDkTest",array(
'info' => $info,
));
}
//获取accessToken
public function getAccessToken() { //获取AccessToken的方法
/*参考接口
https://developer.work.weixin.qq.com/document/path/91039*/
$data = json_decode(file_get_contents("AccessToken.json"));//获取存在AccessToken.json 在项目的根目录下
//$access_token=$data->access_token;
if ($data->expire_time < time()) { //如果AccessToken过期则重新获取AccessToken
// $config = C('WX_CONFIG');
$url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=******************&corpsecret=************************";//获取AccessToken的url及参数。
$res =$this->https_request($url);//调用https请求方法
$res = json_decode($res); //把$res设置为对象
$access_token = $res->access_token; //获取结果集中的access_token
if ($access_token) {
$data->expire_time = time() + 7000; //上一次获取access_token的时间加上两小时,access_token的有效时间为两小时,超过两小时则重新获取。也可以每次使用时都重新获取,但是有获取次数限制。
$data->access_token = $access_token;
$fp = fopen("AccessToken.json", "w"); //打开AccessToken.json文件,“W”表示写入(Write)
fwrite($fp, json_encode($data));//获取到的结果写入
fclose($fp);//关闭文件
}
} else {
$access_token = $data->access_token; //未过期情况下直接读取文件里的access_token
}
//dump($access_token);
return $access_token;
}
//获取用户信息 获取code
//构造网页授权链接
public function authUser() {
/* 参考接口
获取访问用户身份 - 接口文档 - 企业微信开发者中心
https://developer.work.weixin.qq.com/document/path/91022*/
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$redirecturl = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";//回调地址
$redirecturl=urlencode($redirecturl);//对地址进行编码;
if($_GET['code']){ //判断code是否获取到,如果以获取则获取userid,否则获取code。
$accesstoken=$this->getAccessToken(); //调用上面获取access-token的方法
$code=$_GET['code'];
//$getuser="https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=".$accesstoken."&code=".$code;//获取userid的url。
$getuser="https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo?access_token=".$accesstoken."&code=".$code;//获取userid的url。
$data=$this->https_request($getuser); //调用https_request方法请求得到userid。
$data=json_decode($data,true); //将获取到的json格式的数据进行转化。(json_decode()方法不写后面参数true得到的是对象,写了参数true值得到的是数组)
return $data;
}else{ //获取code值
$appid="********************";
//$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirecturl."&response_type=code&scope=snsapi_base&state=12#wechat_redirect";
$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirecturl."&response_type=code&scope=snsapi_privateinfo&agentid=*********&state=12#wechat_redirect";
header('Location:'.$url);
}
}
//curl方法
public function https_request($url, $data = null){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
这样就可以了 遇到问题可以到社区里面提问
https://developer.work.weixin.qq.com/community/question