赞
踩
一:获取消息通知所需参数:appid,secret,agentid
登录企业微信:https://work.weixin.qq.com/
企业微信消息通知文档:https://work.weixin.qq.com/api/doc/90000/90135/90236
获取appid,secret,agentid方式可以参考:企业微信实现扫码登录
二:实现消息通知
1:获取access_token
获取access_token接口地址:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=APPID&corpsecret=SECRET
根据上面的接口可以获取到access_token
2:根据获取的access_token实现消息通知
消息通知接口地址:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN(POST请求方式)
请求参数:
touser:非必填项,指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送
toparty:非必填项,指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数
totag:非必填项,指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数
msgtype:必填项,消息类型,此时固定为:text
agentid:必填项,企业应用的id,整型。企业内部开发,可在应用的设置页面查看
text:必填项,content 消息内容,最长不超过2048个字节,超过将截断
safe:非必填项,表示是否是保密消息,0表示否,1表示是,默认0
enable_id_trans:非必填项,表示是否开启id转译,0表示否,1表示是,默认0
enable_duplicate_check:非必填项,表示是否开启重复消息检查,0表示否,1表示是,默认0
duplicate_check_interval:非必填项,表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时
三:消息通知实现实例:
- $corpid = XXX;
- $secret = XXX;
- //获取access_token
- $url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid='.$corpid.'&corpsecret='.$secret;
- $token = $this->https_request($url);
- $access_token = $token['access_token'];
- //消息通知
- //配置消息通知参数
- $data = [
- 'touser' => 'XXX',
- 'msgtype' => 'text',
- 'agentid' => XXX,
- 'text' => [
- 'content' => '测试消息通知'
- ],
- ];
- $messageUrl = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' . $access_token;
- $message = $this->https_request($messageUrl, 'post', $data);
上面的代码使用了https_request方法,方法如下:
- /**
- * curl
- */
- public function https_request($url, $format = 'get', $data = null){
- $headerArray =array("Content-type:application/json;","Accept:application/json");
- $curl=curl_init();
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
- if ($format == 'post') {
- curl_setopt($curl, CURLOPT_POST, 1);
- if ($data) {
- $data = json_encode($data);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
- }
- }
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
- $data=json_decode(curl_exec($curl), true);
- // $data=curl_exec($curl);
- curl_close($curl);
- return $data;
- }
如上就可以实现消息通知功能,上面介绍的是文本类型的消息通知,其他类型的消息通知可以参考企业微信文档实现
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。