在Java中调企微机器人发送消息到群里 |
您所在的位置:网站首页 › 微信消息怎么群发给每个群 › 在Java中调企微机器人发送消息到群里 |
目录 如何使用群机器人 消息类型及数据格式 文本类型 markdown类型 图片类型 图文类型 文件类型 模版卡片类型 文本通知模版卡片 图文展示模版卡片 消息发送频率限制 文件上传接口 Java 执行语句 String url = "webhook的Url"; String result = HttpRequest.post(url) .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76") .header("Content-Type", "application/json") .body(json) .execute().body(); 摘自企微机器人开发说明 如何使用群机器人 在终端某个群组添加机器人之后,创建者可以在机器人详情页看的该机器人特有的webhookurl。开发者可以按以下说明a向这个地址发起HTTP POST 请求,即可实现给该群组发送消息。下面举个简单的例子. 假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa特别特别要注意:一定要保护好机器人的webhook地址,避免泄漏!不要分享到github、博客等可被公开查阅的地方,否则坏人就可以用你的机器人来发垃圾消息了。 以下是用curl工具往群组推送文本消息的示例(注意要将url替换成你的机器人webhook地址,content必须是utf8编码): curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693axxx6-7aoc-4bc4-97a0-0ec2sifa5aaa' \-H 'Content-Type: application/json' \-d '{"msgtype": "text","text": {"content": "hello world"}}' 当前自定义机器人支持文本(text)、markdown(markdown)、图片(image)、图文(news)四种消息类型。机器人的text/markdown类型消息支持在content中使用扩展语法来@群成员 消息类型及数据格式 文本类型 {"msgtype": "text","text": {"content": "广州今日天气:29度,大部分多云,降雨概率:60%","mentioned_list":["wangqing","@all"],"mentioned_mobile_list":["13800001111","@all"]}} 参数是否必填说明msgtype是消息类型,此时固定为textcontent是文本内容,最长不超过2048个字节,必须是utf8编码mentioned_list否userid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人,如果开发者获取不到userid,可以使用mentioned_mobile_listmentioned_mobile_list否手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人目前支持的markdown语法是如下的子集: 标题 (支持1至6级标题,注意#与文字中间要有空格) # 标题一## 标题二### 标题三#### 标题四##### 标题五###### 标题六 加粗 **bold** 链接 [这是一个链接](http://work.weixin.qq.com/api/doc) 行内代码段(暂不支持跨行) `code` 引用 > 引用文字 字体颜色(只支持3种内置颜色) 绿色灰色橙红色 图片类型 {"msgtype": "image","image": {"base64": "DATA","md5": "MD5"}} 参数是否必填说明msgtype是消息类型,此时固定为imagebase64是图片内容的base64编码md5是图片内容(base64编码前)的md5值注:图片(base64编码前)最大不能超过2M,支持JPG,PNG格式 请求参数 参数类型必须说明msgtypeString是消息类型,此时的消息类型固定为template_cardtemplate_cardObject是具体的模版卡片参数template_card的参数说明 参数类型必须说明card_typeString是模版卡片的模版类型,文本通知模版卡片的类型为text_noticesourceObject否卡片来源样式信息,不需要来源样式可不填写source.icon_urlString否来源图片的urlsource.descString否来源图片的描述,建议不超过13个字source.desc_colorInt否来源文字的颜色,目前支持:0(默认) 灰色,1 黑色,2 红色,3 绿色main_titleObject是模版卡片的主要内容,包括一级标题和标题辅助信息main_title.titleString否一级标题,建议不超过26个字。模版卡片主要内容的一级标题main_title.title和二级普通文本sub_title_text必须有一项填写main_title.descString否标题辅助信息,建议不超过30个字emphasis_contentObject否关键数据样式emphasis_content.titleString否关键数据样式的数据内容,建议不超过10个字emphasis_content.descString否关键数据样式的数据描述内容,建议不超过15个字quote_areaObject否引用文献样式,建议不与关键数据共用quote_area.typeInt否引用文献样式区域点击事件,0或不填代表没有点击事件,1 代表跳转url,2 代表跳转小程序quote_area.urlString否点击跳转的url,quote_area.type是1时必填quote_area.appidString否点击跳转的小程序的appid,quote_area.type是2时必填quote_area.pagepathString否点击跳转的小程序的pagepath,quote_area.type是2时选填quote_area.titleString否引用文献样式的标题quote_area.quote_textString否引用文献样式的引用文案sub_title_textString否二级普通文本,建议不超过112个字。模版卡片主要内容的一级标题main_title.title和二级普通文本sub_title_text必须有一项填写horizontal_content_listObject[]否二级标题+文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6horizontal_content_list.typeInt否链接类型,0或不填代表是普通文本,1 代表跳转url,2 代表下载附件,3 代表@员工horizontal_content_list.keynameString是二级标题,建议不超过5个字horizontal_content_list.valueString否二级文本,如果horizontal_content_list.type是2,该字段代表文件名称(要包含文件类型),建议不超过26个字horizontal_content_list.urlString否链接跳转的url,horizontal_content_list.type是1时必填horizontal_content_lisdia_idString否附件的media_id,horizontal_content_list.type是2时必填horizontal_content_list.useridString否被@的成员的userid,horizontal_content_list.type是3时必填jump_listObject[]否跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过3jump_list.typeInt否跳转链接类型,0或不填代表不是链接,1 代表跳转url,2 代表跳转小程序jump_list.titleString是跳转链接样式的文案内容,建议不超过13个字jump_list.urlString否跳转链接的url,jump_list.type是1时必填jump_list.appidString否跳转链接的小程序的appid,jump_list.type是2时必填jump_list.pagepathString否跳转链接的小程序的pagepath,jump_list.type是2时选填card_actionObject是整体卡片的点击跳转事件,text_notice模版卡片中该字段为必填项card_action.typeInt是卡片跳转类型,1 代表跳转url,2 代表打开小程序。text_notice模版卡片中该字段取值范围为[1,2]card_action.urlString否跳转事件的url,card_action.type是1时必填card_action.appidString否跳转事件的小程序的appid,card_action.type是2时必填card_action.pagepathString否跳转事件的小程序的pagepath,card_action.type是2时选填 图文展示模版卡片请求参数 参数类型必须说明msgtypeString是模版卡片的消息类型为template_cardtemplate_cardObject是具体的模版卡片参数template_card的参数说明 参数类型必须说明card_typeString是模版卡片的模版类型,图文展示模版卡片的类型为news_noticesourceObject否卡片来源样式信息,不需要来源样式可不填写source.icon_urlString否来源图片的urlsource.descString否来源图片的描述,建议不超过13个字source.desc_colorInt否来源文字的颜色,目前支持:0(默认) 灰色,1 黑色,2 红色,3 绿色main_titleObject是模版卡片的主要内容,包括一级标题和标题辅助信息main_title.titleString是一级标题,建议不超过26个字main_title.descString否标题辅助信息,建议不超过30个字card_imageObject是图片样式card_image.urlString是图片的urlcard_image.aspect_ratioFloat否图片的宽高比,宽高比要小于2.25,大于1.3,不填该参数默认1.3image_text_areaObject否左图右文样式image_text_area.typeInt否左图右文样式区域点击事件,0或不填代表没有点击事件,1 代表跳转url,2 代表跳转小程序image_text_area.urlString否点击跳转的url,image_text_area.type是1时必填image_text_area.appidString否点击跳转的小程序的appid,必须是与当前应用关联的小程序,image_text_area.type是2时必填image_text_area.pagepathString否点击跳转的小程序的pagepath,image_text_area.type是2时选填image_text_area.titleString否左图右文样式的标题image_text_area.descString否左图右文样式的描述image_text_area.image_urlString是左图右文样式的图片urlquote_areaObject否引用文献样式,建议不与关键数据共用quote_area.typeInt否引用文献样式区域点击事件,0或不填代表没有点击事件,1 代表跳转url,2 代表跳转小程序quote_area.urlString否点击跳转的url,quote_area.type是1时必填quote_area.appidString否点击跳转的小程序的appid,quote_area.type是2时必填quote_area.pagepathString否点击跳转的小程序的pagepath,quote_area.type是2时选填quote_area.titleString否引用文献样式的标题quote_area.quote_textString否引用文献样式的引用文案vertical_content_listObject[]否卡片二级垂直内容,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过4vertical_content_list.titleString是卡片二级标题,建议不超过26个字vertical_content_list.descString否二级普通文本,建议不超过112个字horizontal_content_listObject[]否二级标题+文本列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过6horizontal_content_list.typeInt否模版卡片的二级标题信息内容支持的类型,1是url,2是文件附件horizontal_content_list.keynameString是二级标题,建议不超过5个字horizontal_content_list.valueString否二级文本,如果horizontal_content_list.type是2,该字段代表文件名称(要包含文件类型),建议不超过26个字horizontal_content_list.urlString否链接跳转的url,horizontal_content_list.type是1时必填horizontal_content_lisdia_idString否附件的media_id,horizontal_content_list.type是2时必填jump_listObject[]否跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过3jump_list.typeInt否跳转链接类型,0或不填代表不是链接,1 代表跳转url,2 代表跳转小程序jump_list.titleString是跳转链接样式的文案内容,建议不超过13个字jump_list.urlString否跳转链接的url,jump_list.type是1时必填jump_list.appidString否跳转链接的小程序的appid,jump_list.type是2时必填jump_list.pagepathString否跳转链接的小程序的pagepath,jump_list.type是2时选填card_actionObject是整体卡片的点击跳转事件,news_notice模版卡片中该字段为必填项card_action.typeInt是卡片跳转类型,1 代表跳转url,2 代表打开小程序。news_notice模版卡片中该字段取值范围为[1,2]card_action.urlString否跳转事件的url,card_action.type是1时必填card_action.appidString否跳转事件的小程序的appid,card_action.type是2时必填card_action.pagepathString否跳转事件的小程序的pagepath,card_action.type是2时选填 消息发送频率限制每个机器人发送的消息不能超过20条/分钟。 文件上传接口素材上传得到media_id,该media_id仅三天内有效 media_id只能是对应上传文件的机器人可以使用 请求方式:POST(HTTPS)请求地址:https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=KEY&type=TYPE 使用multipart/form-data POST上传文件, 文件标识名为”media”参数说明: 参数必须说明key是调用接口凭证, 机器人webhookurl中的key参数type是固定传filePOST的请求包中,form-data中媒体文件标识,应包含有 filename、filelength、content-type等信息 filename标识文件展示的名称。比如,使用该media_id发消息时,展示的文件名由该字段控制 请求示例: POST https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa&type=file HTTP/1.1Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468Content-Length: 220---------------------------acebdf13572468Content-Disposition: form-data; name="media";filename="wework.txt"; filelength=6Content-Type: application/octet-streammytext---------------------------acebdf13572468--返回数据: {"errcode": 0,"errmsg": "ok","type": "file","media_id": "1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0","created_at": "1380000000"}参数说明: 参数说明type媒体文件类型,分别有图片(image)、语音(voice)、视频(video),普通文件(file)media_id媒体文件上传后获取的唯一标识,3天内有效created_at媒体文件上传时间戳上传的文件限制: 要求文件大小在5B~20M之间 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |