美文网首页
python实现钉钉群消息推送

python实现钉钉群消息推送

作者: 点点滴滴happy | 来源:发表于2021-01-15 09:51 被阅读0次

    Python实现钉钉群消息推送


    对于某些自动化任务执行结果反馈,使用钉钉机器人消息替换繁琐的邮件发送方式使用钉钉机器人API,可以将任何你需要的服务消息推送到钉钉

    参考文档: 钉钉机器人API接口文档 python代码

    创建基本步骤

    • Step1: 新建钉钉群
    • Step2: 群设置>智能群助手>添加机器人
    • Step3: 自定义机器人
    • Step4: 复制token(==token每个机器人具有唯一性【不可外传】==)
    • Step5:3种安全设置方式:(1)关键词:所发送的消息必须含有这个关键词;(2)ip地址段:设置可以发送消息的有效ip地址段;(3)加签:使用HmacSHA256算法计算签名。
    • 编写python代码

    <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="python" cid="n21" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-size: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); border: 1px solid rgb(231, 234, 237); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; padding: 8px 4px 6px; margin-top: 15px; width: inherit; position: relative !important; margin-bottom: 0px !important;">import requests
    import json
    def send_dingding(access_token,update, is_at=False):

    access_token = "xx" # access_token 【每个群的每个机器人都不一样】

    url = f"""https://oapi.dingtalk.com/robot/send?access_token={access_token }"""

    构建请求头部

    header = {
    "Content-Type": "application/json",
    "Charset": "UTF-8"
    }
    yes_day = '2020-08-14'
    reason = 'tmall_goods 未更新'

    if (update == 1) or (update == 0):
    update_sta = '成功'
    text_succed = f""" ## <font color="#4590a3" size="4px">【{update_sta}】</font> 淘宝商品上架时间更新 \n> 表:spider_analysis_ads.tmall_goods_launchdate\n> ##### 更新日期:{yes_day} \n"""
    mark_text1 = text_succed
    else:
    update_sta = '失败'
    text_failed = f""" ## <font color="#DC143C" size="4px">【{update_sta}】</font> 淘宝商品上架时间更新 \n> 表:spider_analysis_ads.tmall_goods_launchdate\n> ### 失败原因:{reason} \n> ##### 更新日期:{yes_day} @15927118920 \n"""
    mark_text1 = text_failed
    msg = {
    "msgtype": "markdown",
    "markdown": {
    "title":"数据更新",
    "text": mark_text1
    }
    }
    if is_at:
    msg['at'] = {
    "atMobiles": [
    "15927118920", # mobile
    ],
    "isAtAll": False
    }

    对请求的数据进行json封装

    message_json = json.dumps(msg)
    try:
    res = requests.post(url=url, data=message_json, headers=header).json()
    except Exception as e:
    print(e)
    if res["errcode"] == 0:
    print("发送钉钉成功!")
    else:
    print("发送钉钉成功!")
    ​</pre>

    Python实现钉钉群消息推送


    对于某些自动化任务执行结果反馈,使用钉钉机器人消息替换繁琐的邮件发送方式使用钉钉机器人API,可以将任何你需要的服务消息推送到钉钉

    参考文档: 钉钉机器人API接口文档 python代码

    创建基本步骤

    • Step1: 新建钉钉群
    • Step2: 群设置>智能群助手>添加机器人
    • Step3: 自定义机器人
    • Step4: 复制token(==token每个机器人具有唯一性【不可外传】==)
    • Step5:3种安全设置方式:(1)关键词:所发送的消息必须含有这个关键词;(2)ip地址段:设置可以发送消息的有效ip地址段;(3)加签:使用HmacSHA256算法计算签名。
    • 编写python代码

    <pre spellcheck="false" class="md-fences md-end-block ty-contain-cm modeLoaded" lang="python" cid="n21" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-size: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); border: 1px solid rgb(231, 234, 237); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; padding: 8px 4px 6px; margin-top: 15px; width: inherit; position: relative !important; margin-bottom: 0px !important;">import requests
    import json
    def send_dingding(access_token,update, is_at=False):

    access_token = "xx" # access_token 【每个群的每个机器人都不一样】

    url = f"""https://oapi.dingtalk.com/robot/send?access_token={access_token }"""

    构建请求头部

    header = {
    "Content-Type": "application/json",
    "Charset": "UTF-8"
    }
    yes_day = '2020-08-14'
    reason = 'tmall_goods 未更新'

    if (update == 1) or (update == 0):
    update_sta = '成功'
    text_succed = f""" ## <font color="#4590a3" size="4px">【{update_sta}】</font> 淘宝商品上架时间更新 \n> 表:spider_analysis_ads.tmall_goods_launchdate\n> ##### 更新日期:{yes_day} \n"""
    mark_text1 = text_succed
    else:
    update_sta = '失败'
    text_failed = f""" ## <font color="#DC143C" size="4px">【{update_sta}】</font> 淘宝商品上架时间更新 \n> 表:spider_analysis_ads.tmall_goods_launchdate\n> ### 失败原因:{reason} \n> ##### 更新日期:{yes_day} @15927118920 \n"""
    mark_text1 = text_failed
    msg = {
    "msgtype": "markdown",
    "markdown": {
    "title":"数据更新",
    "text": mark_text1
    }
    }
    if is_at:
    msg['at'] = {
    "atMobiles": [
    "15927118920", # mobile
    ],
    "isAtAll": False
    }

    对请求的数据进行json封装

    message_json = json.dumps(msg)
    try:
    res = requests.post(url=url, data=message_json, headers=header).json()
    except Exception as e:
    print(e)
    if res["errcode"] == 0:
    print("发送钉钉成功!")
    else:
    print("发送钉钉成功!")
    ​</pre>

    相关文章

      网友评论

          本文标题:python实现钉钉群消息推送

          本文链接:https://www.haomeiwen.com/subject/qouiaktx.html