php钉钉发送普通消息【消息通知】

发送普通消息是指员工个人在使用应用时,可以通过界面操作的方式往群或其他人的会话里推送消息,例如发送日志的场景。发送普通消息,然后再调用服务端接口向会话里发送一条消息。举例如下:
在这里插入图片描述

准备工作

登入 钉钉管理后台: 点击进入,点击“应用开发”自建应用后获取。

获取下文代码中所需参数:
$corpid 参数等于图中的 AppKey
$corpsecret 参数等于图中的 AppSecret
发送消息时候的 agentid参数等于图中的 AgentId
在这里插入图片描述
以下代码:

     
            $userlist = array();
            $corpid = "***********";//AppKey
            $corpsecret = "******************";//AppSecret
            $url="https://oapi.dingtalk.com/gettoken?corpid=".$corpid."&corpsecret=".$corpsecret;//获取access_token的方法
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            $output=curl_exec($ch);
            curl_close($ch);
            
            //var_dump($output);die;//打印测试获取到的access_token
            
            $out_array = json_decode($output,true);
            $access_token = $out_array["access_token"];
            $url="https://oapi.dingtalk.com/department/list?access_token=".$access_token;
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            $output=curl_exec($ch);
            $out_array = json_decode($output,true);
            foreach ($out_array["department"] as $DPID){
                $url="https://oapi.dingtalk.com/user/list?access_token=".$access_token."&department_id=".$DPID["id"];
                $ch = curl_init($url);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_HEADER, 0);
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                $output=curl_exec($ch);
                $out_array = json_decode($output,true);
                foreach ($out_array["userlist"] as $USR){
                    $userlist[$USR["mobile"]]=$USR["userid"];
                }
            }
            
         //   echo json_encode($userlist);die;//读取该公司的员工的电话和userid,发送短信要用到userid来指定发送对象
            
            
            //发送消息
            $url="https://oapi.dingtalk.com/message/send?access_token=".$access_token;
            $post_array = [
                "touser" => $userlist['189******20'],//userid指定发送对象
                "agentid" => '*******', //AgentId
                "msgtype" => "text", 
                "text" => ["content" => "审核完成,请登录中心后台审核 !".  date("Y-m-d H:i:s",time())]
            ];
            //如果要给几个人一起发送消息  "touser" => "189******20 | 189******21 ",中间加一个竖线就好了
            //touser是员工的userid,agentid是微应用的AgentId,这个id在工作台随便点一个应用的设置,就可以看到,最好看公告的id,毕竟是发消息嘛,texe里面的就是发送的内容了
            $post_string = json_encode($post_array);
            $ch = curl_init();
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
            curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                    'Content-Type: application/json',
                    'Content-Length: ' . strlen($post_string))
            );
            $output = curl_exec($ch);
            curl_close($ch);
            $ret = json_decode($output,true);
            
            //echo json_encode($ret);die;//返回的结果状态码

小结
在调用第三方接口的时候一定要先阅读开发须知,真的很帮助我们的开发哦.
感谢您的阅读~~

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值