个人技术分享


前言

使用python结合文心一言将查询的信息推送到钉钉群中


提示:以下是本篇文章正文内容,下面案例可供参考

一、创建钉钉群

如果企业自己有钉钉群,那么向管理员申请机器人地址即可
如果没有加入企业,那么申请创建团队即可

发起创建群
注意:需要添加2人以上才可以发起创建群
在这里插入图片描述

二、创建钉钉应用

1、后台登录

地址:钉钉开放平台
要有管理员权限,一般情况下为创建团队的账号

2、创建应用

在这里插入图片描述
输入应用名称和描述保存即可

3、查看应用

在这里插入图片描述

在这里插入图片描述

三、配置机器人

在这里插入图片描述
填写好必填信息即可
在这里插入图片描述

四、群绑定机器人

1、配置群机器人

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、获取钉钉机器人Webhook地址

在这里插入图片描述
在这里插入图片描述

五、调用文心一言

参考文章见我的第一个文心一言API调用

六、调用机器推送信息

1、python代码

import requests
import json

# 钉钉机器人Webhook地址
url = 'https://oapi.dingtalk.com/robot/send?access_token=6f2987987879804ef1c58c642342348fca4ea82'

# 要发送的消息内容
data = {
    "msgtype": "text",
    "text": {
        "content": "这是一条测试消息"
    },
    "at": {
        "isAtAll": False
    }
}

headers = {'Content-Type': 'application/json;charset=utf-8'}

# 发送POST请求,将消息内容转换为json格式
r = requests.post(url, headers=headers, data=json.dumps(data))

print('钉钉消息发送结果:', r.json())

2、测试效果

C:\Users\PUB\AppData\Local\Programs\Python\Python38-32\python.exe D:\2024python\信息推送\信息推送至钉钉.py 
钉钉消息发送结果: {'errcode': 0, 'errmsg': 'ok'}

进程已结束,退出代码0

在这里插入图片描述

七、完整代码

import requests
import json


def get_access_token():
    """
    使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
    """

    url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=fEuMuWS5RBeRfSmzcNMap8u9&client_secret=WYHqDs234234Wn42234444234234VCyfINo7s"

    payload = json.dumps("")
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=payload)
    return response.json().get("access_token")

def sed_msg(msg):
    # 钉钉机器人Webhook地址
    url = 'https://oapi.dingtalk.com/robot/send?access_token=6f26431a2342342342342344ef1c234fca4ea82'

    # 要发送的消息内容
    data = {
        "msgtype": "text",
        "text": {
            "content": msg
        },
        "at": {
            "isAtAll": False
        }
    }

    headers = {'Content-Type': 'application/json;charset=utf-8'}

    # 发送POST请求,将消息内容转换为json格式
    r = requests.post(url, headers=headers, data=json.dumps(data))

    print('钉钉消息发送结果:', r.json())


def main(info):
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie_speed?access_token=" + get_access_token()

    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": info
            }
        ]
    })
    headers = {
        'Content-Type': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=payload)

    # print(response.text)
    data = json.loads(response.text)
    sed_msg(data['result'])


if __name__ == '__main__':
    main('今日市场环境关键信息')