關於釘釘發送普通消息的接口操作


 

假如說我們提交一個操作,要告訴釘釘里的某一個人,我已經提交了,你審核一下,這個時候就要發送一條消息給他,就要用到這個操作了

直接上代碼:

if ($data){//判斷是否提交了一個審核
            $corpid="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
            $corpsecret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
            $userlist=array();

            $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);
//        dump($output);die;
            $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);
//var_dump($output);
            foreach ($out_array["department"] as $DPID){
                //echo $DPID["id"];
                //echo "\n";
                $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);
                //var_dump($out_array);
                foreach ($out_array["userlist"] as $USR){
                    $userlist[$USR["mobile"]]=$USR["userid"];
                    //$tem_array('$USR["mobile"]'=>'$USR["userid"]');
                    //array_merge($userlist,$tmp_array]);
                }
            }
//                var_dump($userlist);讀取該公司的員工的電話和userid,發送短信要用到這個
//發送消息
            $url="https://oapi.dingtalk.com/message/send?access_token=".$access_token;
            $post_array=array("touser" => "0558074762****981","agentid" => "133***7864", "msgtype" => "text", "text" => array("content" => "由出納".$users['user_login']."審核完成,請登錄中心后台審核 !".  date("Y-m-d H:i:s",time())));
        //如果要給幾個人一起發送消息  "touser" => "0558****2999981 | 05580****62999981 ",中間加一個豎線就好了
//touser是員工的userid,agentid是微應用的id,這個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);
           
        }

獲取

corpid需要登錄釘釘企業賬號,然后點擊工作台,再點擊應用開發

corpsecret值的獲取也在應用開發里找

 所以上述的代碼,你只需要填寫

corpid    corpsecret   touser  agentid   texe 這幾個就可以發送消息了.


注:生成CorpSecret的時候關聯的部門最好選擇整個公司,如果選擇某一個部門的話,可能會提示權限不夠

看完我代碼的備注那你就會發送短信了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM