关于钉钉发送普通消息的接口操作

假如说我们提交一个操作,要告诉钉钉里的某一个人,我已经提交了,你审核一下,这个时候就要发送一条消息给他,就要用到这个操作了

直接上代码:

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" => "0558074762999981","agentid" => "133007864", "msgtype" => "text", "text" => array("content" => "由出纳".$users[‘user_login‘]."审核完成,请登录中心后台审核 !".  date("Y-m-d H:i:s",time())));
        //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的时候关联的部门最好选择整个公司,如果选择某一个部门的话,可能会提示权限不够

看完我代码的备注那你就会发送短信了
时间: 2024-10-07 07:36:56

关于钉钉发送普通消息的接口操作的相关文章

TFS发布计划发送到钉钉消息群

由于工作中需要用到钉钉,每天都要和钉钉打交道:上下班打卡.出差请假流程.各种工作讨论组,不一而足,工作已然和钉钉绑在了一起,难怪有广告词: 微信是一个生活方式,钉钉是一个工作方式. 我们是钉钉机器人内测版的首批用户,使用自定义机器人功能做了预警消息推送,效果还不错,目前钉钉机器人已经正式发布,支持与Github.Gitlab.Jira等集成: 由于我们研发过程管理重度依赖微软TFS(Team Foundation Server),研发.测试及运维同学(DevOps)希望将发布计划通知到钉钉群,由

钉钉机器人SDK 封装预警消息发送工具

1 群机器人 ????(1) 引言 ????钉钉聊天群内支持的群机器人, 类似QQ 群机器人, 可以发天气, 讲笑话那样; ????钉钉群机器人支持自定义机器人, 允许开发者管理机器人做预警消息通知; ????(2) 限制 6 个机器人/每群, 20条消息/每分钟 不支持应答模式, 仅做群消息通知 ????(3) 消息格式 ????支持普通文本消息, 链接消息, markdown 格式(注意仅部分语法支持)文本, 图片及链接, 支持FeedCard, ActionCard 等消息 ????(4)

springboot使用RestTemplate以post方式发送json字符串参数(以向钉钉机器人发送消息为例)

使用springboot之前,我们发送http消息是这么实现的 我们用了一个过时的类,虽然感觉有些不爽,但是出于一些原因,一直也没有做处理,最近公司项目框架改为了springboot,springboot中有一种很方便的发送http请求的实现,就是RestTemplate,而且实现起来非常简单,代码也很清晰. 从上面代码可以看到,向钉钉发送的参数为一个json字符串,所以需要的HttpEntity的泛型应该是String,如果是键值对,就需要声明MultiValueMap<String, Str

钉钉微应用发送消息

原文:钉钉微应用发送消息 微应用就是网站,钉钉自带的E应用难用,而且前端UI都不是很好,所以倾向使用网站来开发 string UrlUserID = "https://oapi.dingtalk.com/message/send?access_token=" + token; //获取自己的Token string PostData = "{ \"touser\":\"\", "; //职员代码,不知道是什么 去通讯录上查,多

钉钉服务端api接口使用

原文链接:http://www.cnblogs.com/xiaosongJiang/p/9991573.html 第一步:注册钉钉企业账号 打开链接:https://oa.dingtalk.com/#/login,注册账号即可 第二步:创建应用 以创建e应用为例: 还需要授权一个开发人员,并获取CorpSecret,需要把corpId和CorpSecret作为参数请求api接口获取AccessToken,后面的所有接口都需要AccessToken 第三步:接入接口 一.获取token 1 con

钉钉消息监控

在我们监控服务器的应用状态或服务器的端口状态异常时,经常需要发送告警信息给管理员,发送告警信息基本上要么以邮件.短息.微信.及其他方式告知管理员.现在使用钉钉软件的企业也开始逐渐增多,其中钉钉有一个机器人发送功能,可以做到机器人向钉钉指定用户发送消息.发送消息没有上限.而且免费,有了这个功能我们就可以使用钉钉机器人向系统管理员用户发送告警消息. 我这里有一台监控服务器,用来跑PHP监控脚本,PHP监控脚本每隔5分钟向主服务器请求一个状态文件,更具请求过来的状态文件进行判断主服务器状态是否正常,如

钉钉自定义机器人配合SVN钩子事件进行消息的推送实践

目前很多公司还是使用SVN(TortoiseSVN)进行版本控制,使用简单,适合管理一般项目.协同办公软件目前钉钉比较成熟,阿里也一直在宣传推广,这两年公司也在使用,主要用于信息的沟通,其它的绩效.考勤.日志.审批等都是挂载的我们公司内部的系统,很方便,之后钉钉推出了钉钉机器人,一开始觉得没用,也就一直没关注,但是最近我看了钉钉自定义机器人,觉得这个可以好好利用起来,看到网上也有这方面的应用说明,看着很简单,但是按照流程操作起来各种坑,而且相关知识过于碎片化,今天我在这里进行一下简单的整合,梳理

Python小功能-发送钉钉信息

Python小功能-发送钉钉消息 可根据自己情况进行修改 # coding: utf-8 import json import requests import time import socket import sys def dingding_robot(data): # token地址 需要修改 dingding_robot_token = "https://oapi.dingtalk.com/robot/send?access_token=d8ebca52d6ac9546895670f1b

python 编写的钉钉机器人自动发消息

用python实现的钉钉机器人发消息 1 # coding:utf-8 2 3 import json 4 5 import urllib.request 6 7 # 1.构建url 8 9 url = "机器人的tooken地址" 10 # url为机器人的webhook 11 12 # 2.构建一下请求头部 13 14 header = { 15 16 "Content-Type": "application/json", 17 18 &qu