前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go使用Curl推送钉钉消息

Go使用Curl推送钉钉消息

作者头像
Clive
发布2019-05-31 16:14:09
1.2K0
发布2019-05-31 16:14:09
举报
文章被收录于专栏:Clive的技术分享Clive的技术分享

背景

最近在用Go实现业务日志实时监控,当捕捉到error级别的日志时,想要推送钉钉消息到群里进行通知,下面代码实现了简单消息及markdown消息推送到钉钉机器人webhook的操作,供大家参考。

代码实现

代码语言:javascript
复制
package main

import (
    "fmt"
    // 先下载这个包,go get github.com/mikemintang/go-curl
    "github.com/mikemintang/go-curl"
)

func main() {

    // 钉钉机器人webhook
    url := "https://oapi.dingtalk.com/robot/send?access_token=your_access_token"

    // 添加头信息
    headers := map[string]string{
        "Content-Type":  "application/json",
    }

    /*
    发送简单文本消息
    content := make(map[string]string)
    content["content"] = "hello"
    postData := map[string]interface{}{
        "msgtype": "text",
        "text": content ,
    }
    */

    // 发送markdown消息
    content := make(map[string]string)
    content["content"] = "hello"
    postData := map[string]interface{}{
        "msgtype": "markdown" ,
        "markdown": map[string]string{
            "title":  "ERROR",
            "text":  "## Please check now\n " +
                "> 1. first\n" +
                "> 2. second\n",
        },
        "at": map[string]interface{}{
            "atMobiles":[]string{"18888888888","18866666666"},
            "isAtAll": false,
        },
    }

    // 链式操作
    req := curl.NewRequest()
    resp, err := req.
        SetUrl(url).
        SetHeaders(headers).
        SetPostData(postData).
        Post()

    // 返回处理
    if err != nil {
        fmt.Println(err)
    } else {
        if resp.IsOk() {
            fmt.Println(resp.Body)
        } else {
            fmt.Println(resp.Raw)
        }
    }

}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.05.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档