[golang]推送钉钉机器人消息
前言
通过钉钉群机器人的webhook,实现消息推送。
本文代码仅示例markdown格式的消息。
示例代码
注意修改钉钉机器人的webhook
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
"strings"
)
type Md struct {
Title string `json:"title"`
Text string `json:"text"`
}
type Ding struct {
Msgtype string `json:"msgtype"`
Markdown Md `json:"markdown"`
}
func DingMarshal(title, text string) string {
// struct序列化为json
var myjson Ding = Ding{
Msgtype: "markdown",
Markdown: Md{
Title: title,
Text: text,
},
}
va, err := json.Marshal(myjson)
if err != nil {
panic(err)
}
return string(va)
}
func PostUrl(jsondata string) {
// 发起post请求
// 钉钉群机器人的webhook
url := "dingding webhook"
var jsonstr = []byte(jsondata)
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonstr))
if err != nil {
log.Fatal(err)
}
req.Header.Set("Content-Type", "application/json;charset=utf-8")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
// 响应的数据也可以不要
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Printf("响应体: %v\n", string(body))
}
func SpliceString() string {
// 字符串拼接
var rst strings.Builder
rst.WriteString("# 标题1 \n\n")
rst.WriteString("- Golang \n\n")
rst.WriteString("--- \n\n")
rst.WriteString("## 标题2 \n\n")
rst.WriteString("- 无序列表1 \n\n")
rst.WriteString("- 无序列表2 \n\n")
rst.WriteString("--- \n\n")
rst.WriteString("### 标题3 \n\n")
rst.WriteString("1. 有序列表1 \n\n")
rst.WriteString("2. 有序列表2 \n\n")
var msg string = "hello world"
rst.WriteString("3. " + msg + " \n\n")
return rst.String()
}
func main() {
var title string = "测试标题"
var text string = SpliceString()
var va string = DingMarshal(title, text)
PostUrl(va)
}
参考
[golang]推送钉钉机器人消息的更多相关文章
- 【FAQ】关于华为推送服务因营销消息频次管控导致服务通讯类消息下发失败的解决方案
一. 问题描述 使用华为推送服务下发IM消息时,下发消息请求成功且code码为80000000,但是手机总是收不到消息: 在华为推送自助分析(Beta)平台查看发现,消息发送触发了频控. 二. 问题原 ...
- pinpoint实现告警推送至钉钉和微信群
前言 在前面的文章中,我们学习了如何通过java实现将消息发送到钉钉.和将消息发送到微信群聊. 基于上述基础,我们今天来接入pinpoint的告警,发送到钉钉群. 实操前准备 开始之前,推荐阅读一下, ...
- prometheus-alertmanager告警推送到钉钉
1. Prometheus告警简介 告警能力在Prometheus的架构中被划分成两个独立的部分.如下所示,通过在Prometheus中定义AlertRule(告警规则),Prometheus会周期性 ...
- 极光推送集成——iOS10 接受消息问题及解决
iOS10升级后极光推送发生了很大的变化,要求Xcode更新到8.0及以上版本才可以实现iOS10接受消息的方法 常见错误 这个问题困扰了我一天,辛亏好友盼神帮我解决,在此再次感谢盼神.一下是解决办法 ...
- 做推送,怎么能不了解推送的 4 种消息形式呢?( Android 篇)
极光推送是为 App 提供第三方推送服务的平台之一,它提供四种消息形式:通知,自定义消息,富媒体和本地通知. 笔者将基于官方说明与个人理解来谈一下这四种消息.本篇为 Android 篇,iOS 篇入口 ...
- 做推送,怎么能不了解推送的 4 种消息形式呢?(iOS 篇)
极光推送是为 App 提供第三方推送服务的平台之一,它提供四种消息形式:通知,自定义消息,富媒体和本地通知.笔者将基于官方说明与个人理解来谈一下这四种消息.本篇为 iOS 篇,Android 篇入口. ...
- Java企业微信开发_05_消息推送之被动回复消息
一.本节要点 1.消息的加解密 微信加解密包 下载地址:http://qydev.weixin.qq.com/java.zip ,此包中封装好了AES加解密方法,直接调用方法即可. 其中,解 ...
- tp 推送微信的模板消息
设置推送类: <?php /** * tpshop 微信支付插件 * ============================================================== ...
- .net平台借助第三方推送服务在推送Android,IOS消息(极光推送_V3版本)最新
最近刚从极光推送官网上看到V2版本要停用,不得不有重新写V3版本的.这里用到了 HTTP Basic Authentication http://www.cnblogs.com/pingming/p/ ...
- cordova 消息推送,告别,消息推送服务器,和 苹果推送证书
cordova plugin add org.apache.cordova.vibration cordova plugin add https://github.com/katzer/cordova ...
随机推荐
- STL------sort三种比较算子定义
sort的三种比较算子的定义方式 例:一道细碎的细节模拟题: http://newoj.acmclub.cn/contests/1258/problem/3 1932: 2018蓝桥杯培训-STL应用 ...
- 2022-11-14:rust语言,请使用过程宏给结构体AAA生成结构体AAABuilder和创建AAABuilder实例的方法。 宏使用如下: #[derive(Builder)] pub stru
2022-11-14:rust语言,请使用过程宏给结构体AAA生成结构体AAABuilder和创建AAABuilder实例的方法. 宏使用如下: #[derive(Builder)] pub stru ...
- 2022-07-11:给定n位长的数字字符串和正数k,求该子符串能被k整除的子串个数。 (n<=1000,k<=100)。 来自微众。4.11笔试。
2022-07-11:给定n位长的数字字符串和正数k,求该子符串能被k整除的子串个数. (n<=1000,k<=100). 来自微众.4.11笔试. 答案2022-07-11: 动态规划. ...
- docker安装es,单机集群模式.失败。
操作系统:mac系统. docker run -d --name es1 -p 9201:9200 -p 9301:9300 elasticsearch:7.14.0 docker run -d -- ...
- Docker入门与实战-Docker镜像的使用
Docker入门与实战 二.Docker镜像的使用 1.获取镜像 命令:docker [image] pull image-name[:tag] 说明: name为镜像仓库名称,严格来说, ...
- 贪心算法基础及leetcode例题
参考 理论 本质:找到每个阶段的局部最优,然后去推导得到全局最优 两个极端:常识&&很难: 很多同学通过了贪心的题目,但都不知道自己用了贪心算法,因为贪心有时候就是常识性的推导,所以会 ...
- 记一次 Oracle 下的 SQL 优化过程
1. 介绍 事情是这样的,UAT 环境的测试小伙伴向我扔来一个小 bug,说是一个放大镜的查询很慢,转几分钟才出数据,我立马上开发环境试了一下,很快啊我说,放大镜的数据立马就出来了,然后我登录 UAT ...
- 【题解】[蓝桥杯] [基础练习VIP]矩形面积交
题目描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积. 输入 输入仅包含两行,每行描述一个矩形. 在每行中,给 ...
- 【RocketMQ】NameServer总结
NameServer是一个注册中心,提供服务注册和服务发现的功能.NameServer可以集群部署,集群中每个节点都是对等的关系(没有像ZooKeeper那样在集群中选举出一个Master节点),节点 ...
- SpringBoot定义优雅全局统一Restful API 响应框架五
闲话不多说,继续优化 全局统一Restful API 响应框架 做到项目通用 接口可扩展. 如果没有看前面几篇文章请先看前面几篇 SpringBoot定义优雅全局统一Restful API 响应框架 ...