PHP使用企业微信接口推送消息

简介

企业微信开放了消息发送接口,企业可以使用这些接口让自定义应用与企业微信后台或用户间进行双向通信。
接口文档:https://developer.work.weixin.qq.com/document/path/90235

准备

参数说明

参数 说明
cropid 企业ID
secret 应用的凭证密钥
agentid 应用ID

参数获取

如果没有创建企业,请自行注册企业,可以不用验证

corpid获取

点击 此处 登陆企业微信,点击我的企业,最下面就是企业ID

agentid 获取

点击应用管理,点击创建应用,自行填写资料,创建好后即可看到

secret获取

secret不在网页上直接显示,需要先在手机上下载并安装企业微信APP,才能接收到。
安装后企业微信APP,并登录后,点击Secret右侧的查看,并在弹出窗口中点击发送,此时企业微信APP上将会收到秘钥信息。



设置企业可信IP

在应用管理里,找到刚创建的应用,找到开发者接口中的企业可信IP,点击配置:

IP填写你程序运行所在服务器的IP,如果在你本地电脑测试,则需填入你本地电脑的外网IP。多个IP用;隔开

推送消息

关注企业微信

如果你不想每次都通过企业微信接收消息,可以通过在个人微信APP上关注企业微信号来接收消息。

推送代码

//此处配置你的信息
$corpid = "xxxxx";
$secret = "xxxxx";
$agentid = 1000002;
$message = '推送消息测试';

//获取access_token
$url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' . $corpid . '&corpsecret=' . $secret;
$token = curlRequest($url);
$access_token = $token['access_token'];

//推送消息
$postData = [
    'touser' => '@all',
    'msgtype' => 'text',
    'agentid' => $agentid,
    'text' => [
        'content' => $message
    ]
];
$apiUrl = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' . $access_token;
$result = curlRequest($apiUrl, $postData,'POST');
echo json_encode($result,JSON_UNESCAPED_UNICODE);

function curlRequest($url, $data = null,$format = 'GET')
{
    $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);
    curl_close($curl);
    return $data;
}

发表评论

邮箱地址不会被公开。 必填项已用*标注