https open api_钉钉API发送消息
前言
Orchestrator有Call外部REST API/OPEN API的功能,利用钉钉开放的API,可以实现JDE内容转化成消息进行发送。此文档没有实现,只是整理如何Call API,这样在Orchestrator中就可以方便调用,理论上与微信的API发送消息接口是一致的。
注册钉钉团体(公司)
理论上可以注册多个,可用于发送不同任务类型
注册地址:https://oa.dingtalk.com/register_new.htm#/
如果你的手机号已经注册过钉钉,那么可以在下面创建新团队.
成功后,可以下载钉钉PC或是手机端来登录使用
钉钉开放平台地址:https://open-dev.dingtalk.com/#/index
注意2020/6/15号后
需要激活
才能开发应用在
通讯录
中添加部门与人员。
新增应用
在工作台
里边新增一个应用,路径如下图:
点击自建应用将跳转到:https://open-dev.dingtalk.com/#/create-app
填写应用名称, 上传一个图片以及简介。
点击下一步后,需要输入AIS服务器调用钉钉API的IP地址(公网的IP).
获取应用的AgentId,AppKey,AppSecret
进入应用点击查看详情
在最后看到三个代码,后续都需要使用。
获取用户/部门的ID
消息需要送达的目标可以是具体用户,也可以是部门
在
通讯录
界面里边可以找到
https://oa.dingtalk.com/contacts.htm#/contacts
如果有设置部门,则点击该部门,也是在该位置有部门ID。
Call 钉钉API设置
因为看官方的文档不敢恭维,调试界面更是无语,范例主要是以SDK的方式进行,不方便我们阅读,此处汇总一下可能用到的API。
获取Token
方法:Get
路径:https://oapi.dingtalk.com/gettoken?appkey={{appkey}}&appsecret={{appsecret}}
返回:
{ "errcode": 0, "access_token": "d8666dc1929a3992801d07d33aa6272c", "errmsg": "ok", "expires_in": 7200}
发送工作消息
方法:Post
路径:https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token={{access_token}}
主体Body:
{ "agent_id": "{{AGENTID}}", "userid_list": "{{USERID}}", "dept_id_list": "", "to_all_user": false, "msg": { "msgtype": "text", "text": { "content": "消息内容" } }}
说明
:此示例为最简单的文本,可以参考官方介绍msg
的部分:
https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup
返回:
{ "errcode": 0, "task_id": 217791522272, "request_id": "10oczk4j3pysa"}
上传文件到服务器
方法:Post
路径:https://oapi.dingtalk.com/media/upload?access_token={{ACCESS_TOKEN}}&type=file
说明
:type: 媒体文件类型,分别有图片(image)、语音(voice)、普通文件(file) , 此示例是file.
Header: Content-Type: multipart/form-data;
主体Body:
file: 文件
key:media
返回:
{ "errcode": 0, "errmsg": "ok", "media_id": "@lAjPDeRERl-SdZbOKpI_r85tuA2J", "created_at": 1591874201427, "type": "file"}
发送文件到用户
方法:Post
路径:https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token={{access_token}}
主体Body:
{ "agent_id": "{{AGENTID}}", "userid_list": "{{USERID}}", "dept_id_list": "", "to_all_user": false, "msg": { "msgtype": "file", "file": { "media_id": "{{MEDIA_ID}}" } }}
MEDIA_ID
:上传文本后得到的media_id
返回:
{ "errcode": 0, "task_id": 217791522272, "request_id": "10oczk4j3pysa"}
获取文件的文本内容
如果文件是text的格式,可以用Get的方式直接读取文件内容(media_id)。
方法:Get
路径:https://oapi.dingtalk.com/media/downloadFile?access_token={{ACCESS_TOKEN}}&media_id={{MEDIA_ID}}
返回:文件的文本内容.
https open api_钉钉API发送消息相关推荐
- python调用钉钉API发送消息
#!/usr/bin/env python # -*- coding: utf-8 -*- # 2017-8-20 钉钉API发送消息import urllib, urllib2 import req ...
- Flowable集成钉钉实现抄送发送消息
项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 视频地址:https://www.bilibili.com/video/av797746 ...
- java 调用微信api发送消息
要在 Java 中调用微信 API 发送消息,你需要做的第一步是在微信公众平台中注册自己的公众号,然后获取到自己的 AppID 和 AppSecret. 然后你可以使用微信公众平台提供的开发文档,来了 ...
- SAP ABAP 添加企业微信群机器人并调用 API 发送消息
SAP ABAP 添加企业微信群机器人并调用 API 发送消息 引言: 这篇文章以我在个人开源项目"任务管理服务(ZTASK)"中的应用为例,通过讲述使用企业微信机器人实现任务的通 ...
- C#调用新浪微博API发送消息成功
成功一小步,用C#调用新浪微博API发送消息成功,庆祝一下.其实没什么难的,主要是看新浪的开发文档受到了误导. 在新浪的文档里面的参数从说明到例子都是组合参数,并且遗漏了一个参数说明,调试的时候查看错 ...
- C# 钉钉群机器人发送消息代码实现
本文属于个人原创作品.个人总结,谢绝转载.抄袭.如果您有疑问或者希望沟通交流,可以联系QQ:865562060. 一.开始接入 1.开始接入钉钉之前,首先需要了解企业接入钉钉的概述:https://o ...
- linkedin api php,php – 如何使用linkedin api发送消息/通知?
我有一个通过linkedin API验证用户的应用程序: >应用程序是否可以向授权它的所有用户发送消息? (即:应用程序的系统通知) >是否可以向应用程序用户的子集发送消息? (即:黄金会 ...
- c#调用企业微信服务端API发送消息和图片
1.首先获得企业微信的企业ID 2.获得企业微信里面的建立的小程序的APPID和Secret 以上不会的自行百度. 3.建立共用类QYWeixinHelper public class QYWeixi ...
- Python3 使用企业微信 API 发送消息
现在大部分情况下,企业里运维监控的系统都需要给运维人员发送一些报警之类的信息,之前都是发送邮件,目前有腾讯推出了企业微信,也开放了其 API 接口.我们可以利用其 API 接口来给企业微信第账号发送信 ...
最新文章
- 福布斯:14位技术专家预测,未来哪些行业将被AI颠覆?
- c语言程序上级考试答案,[转载]计算机C语言二级上级考试套题(二)
- 某机器字长8位,试用如下所给芯片设计一个存储器,容量为10KW,其中RAM为高8KW,ROM为低2KW,最低地址为0(RAM芯片类型为:4K×8。ROM芯片为:2K×4)。
- jquery中serialize()序列化函数
- CxImage 使用报错解决办法
- 计算机中win是哪个版本,win7系统应该选择哪个版本比较好
- (附源码)计算机毕业设计ssm电商后台管理系统
- 敏捷测试的关键成功要素
- 【Lintcode】741. Calculate Maximum Value II
- python 文件读取
- html5钟表实例,HTML5元素Canvas实例之钟表
- orm查询方式与优化
- linux配置samba用户时失败,Ubuntu下Samba的设置,及用户登录失败的解决
- 国内外云服务现状及发展探讨
- 超级壁纸android,【教程】MIUI最新超级壁纸安卓全机型安装指南
- Python通过区号和校验位校验身份证号是否合法
- 网络教育统考计算机和英语作文,2020年9月网络教育统考大学英语B模拟冲刺题试卷5...
- 从字节码指令分析i=i++(i是long类型时)
- 2022中科院分区表弃用影响因子,多方官宣
- VS Code 修改字体为JetBrains Mono
热门文章
- 【Vegas原创】本地sys登录,ORA-01031: insufficient privileges的解决方法
- 初识WAP开发时..
- 利用逻辑回归进行简单的人群分类解决广告推荐问题
- html2canvas图片截图截不到图像的问题解决
- SpringCloud Gateway 测试问题解决
- Python 解决 :NameError: name ‘reload‘ is not defined 问题
- 如何使用C#中的WebClient将数据发布到特定URL
- 如何使用Sublime Text 2重新格式化HTML代码?
- 普通的旧CLR对象与数据传输对象
- 获取PHP中的完整URL