python给企微发消息

 方法一:webhook方式。使用群机器人给企微群发消息

import requestsdef qwxsendmessage(msg):url='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=6c598840-804a-4eb5-a999-a023313'  #url换成自己群机器人的webhookurldata={'msgtype':'text','text':{'content':msg}}print(data)res=requests.post(url,json=data)

消息发送频率限制:每个机器人发送的消息不能超过20条/分钟。

方法二:使用自建应用的方式

企微还可以用另一种自建应用的方式,然后通过接口实现单聊发消息,但是自建应用需要配置企业可信任ip。这个配置过程挡住了很多人,最后我也放弃了,没有和企微备案一致的域名。

下面是使用自建应用发送消息的代码

import requests
import json#获取token
def qwxget_token():corpid='wx38bbebfb0834' #corpid换成自己的corpsecret='OfQLVaaCeJT9vrxini3EYrN71xO8PQzLGFnET' #corpsecret换成自己的url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid='+corpid+'&corpsecret='+corpsecretresponse=requests.get(url)dict_response=response.json()token=dict_response['access_token']return token#发送消息
def qwxmessage(token):data={'touser':'PengXuan', #成员编号换成自己的'msgtype':'text','agentid':1000033, #应用id换成自己的'text':{'content':'我就试一下'},'safe':0}url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='+tokenres=requests.post(url,data=json.dumps(data,ensure_ascii=False).encode('utf-8')).json()print(res)#调用
token=qwxget_token()
qwxmessage(token)

执行调用后,返回错误代码

 {'errcode': 60020, 'errmsg': 'not allow to access from your ip, hint: [1709260518618543373180730], from ip: 27.188.36.174, more info at https://open.work.weixin.qq.com/devtool/query?e=60020'}

经过查询企微开放平台的错误码:

错误码:60020

不安全的访问IP。请根据调用的应用类型分别按如下方法确认:
1)若调用者是企业自建应用或通讯录同步助手,请确认该IP是本企业服务器IP,并已经配置到应用详情的“企业可信IP”项目中。第三方服务商IP不能调用。
2)若调用者是第三方应用或服务商代开发应用,请确认该IP已经配置到“服务商管理后台”-“服务商信息”-“基本信息”-“IP白名单”。
3) 配置完可信IP之后,需要1分钟后才生效。

上面这个配置最后我也没有完成,后面有机会再试吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/713133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elasticsearch7.17 terms聚合性能提升90%+

背景 ES7 相比于 ES6 有多个层面的优化,对于开源的ES而言,升级是必经之路。 ES的使用场景非常多,在升级过程中可能会遇到非预期的结果; 比如之前文章提到的典型案例:ES7.17版本terms查询性能问题 ES7.17版本terms查…

【Python笔记-FastAPI】后台任务+WebSocket监控进度

目录 一、代码示例 二、执行说明 (一) 调用任务执行接口 (二) 监控任务进度 实现功能: 注册后台任务(如:邮件发送、文件处理等异步场景,不影响接口返回)监控后台任务执行进度(进度条功能)支…

常见的几种httpclient

工作是spring 项目一般都是使用ResTemplate 但是还是有些项目中会用到httpClient&#xff0c;没有毛用。 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> …

pclpy 点云法线

pclpy 点云法线 一、算法原理1.理论入门2.选择正确的比例 二、代码三、结果四、相关数据 一、算法原理 表面法线是几何表面的重要属性&#xff0c;在许多领域&#xff08;例如计算机图形应用程序&#xff09;中大量使用&#xff0c;以应用正确的光源来生成阴影和其他视觉效果。…

缓存穿透--一起学习吧之架构

缓存穿透是指查询一个一定不存在的数据&#xff0c;由于缓存是不命中时需要从数据库查询&#xff0c;查不到数据则不写入缓存&#xff0c;这将导致这个不存在的数据每次请求都要到数据库去查询&#xff0c;进而给数据库带来压力。在高并发场景下&#xff0c;如果某个key被高并发…

Android 混淆是啥玩意儿?

什么是混淆 Android混淆&#xff0c;是伴随着Android系统的流行而产生的一种Android APP保护技术&#xff0c;用于保护APP不被破解和逆向分析。简单的说&#xff0c;就是将原本正常的项目文件&#xff0c;对其类、方法、字段&#xff0c;重新命名a,b,c…之类的字母&#xff0c…

森林灭火利器|便携式森林消防灭火泵|恒峰智慧科技

随着人们对环境保护意识的不断提高&#xff0c;森林防火工作显得尤为重要。然而&#xff0c;传统的森林灭火方式存在诸多不便&#xff0c;如火势蔓延迅速、灭火效率低下等。为了更好地保护森林资源&#xff0c;科学家们研发出了一种便携式森林消防灭火泵&#xff0c;它的出现为…

利用css实现常见图形

1、正圆形 给正方形盒子设置圆角属性为宽高的50%。 div {width: 100px;height: 100px;background-color: plum;border-radius: 50%; } 2、胶囊形 给长方形盒子设置圆角属性为盒子高度的50%。 div {width: 200px;height: 100px;background-color: plum;border-radius: 50px…

基于C#开发OPC DA客户端——基于OPCDAAuto

OPC DA OPC DA(OPC Data Access)&#xff0c;即OPC数据访问接口&#xff0c;定义了数据交换的规范&#xff0c;包括&#xff1a;过程值、更新时间、数据品质等信息。 自动化接口中共定义了6类对象&#xff1a;OPCServer对象、OPCBrowser对象、OPCGroups对象、OPCGroup对象、O…

steloj勒索病毒:[steloj@mailfence.com].steloj袭击了您的计算机?

引言&#xff1a; 在数字时代&#xff0c;我们的数据是我们最宝贵的资产之一。然而&#xff0c;随着科技的进步&#xff0c;网络犯罪也在不断演变。最新的威胁之一就是.[stelojmailfence.com].steloj勒索病毒。这种恶意软件不仅能够加密你的数据&#xff0c;而且还会要求赎金以…

C++11之字符串与数值之间的转换

C11之字符串与数值之间的转换 数值转换为字符串字符串转换为数值 在C11中提供了专门的类型转换函数&#xff0c;程序猿可以非常方便的使用它们进行数值类型和字符串类型之间的转换。 数值转换为字符串 使用to_string()方法可以非常方便地将各种数值类型转换为字符串类型&#…

如何做代币分析:以 SHIB 币为例

作者&#xff1a;lesleyfootprint.network 编译&#xff1a;cicifootprint.network 数据源&#xff1a;SHIB Token Dashboard &#xff08;仅包括以太坊数据&#xff09; 在加密货币和数字资产领域&#xff0c;代币分析起着至关重要的作用。代币分析指的是深入研究与代币相关…

贪心算法 —— 字典序删除字符

题目描述 给定一个单词&#xff0c;请问在单词删除t个字母之后&#xff0c;能得到的字典序最小的单词是什么&#xff1f; 输入描述 输入的第一行包含一个单词&#xff0c;有大写英文字母组成 第二行包含一个正整数t 其中&#xff0c;单词长度不超过100&#xff0c;t小于单…

qt学习:串口调试助手

目录 步骤 配置ui界面 注意 新建一个自定义复选框类MyComboBox,并继承自带的复选框类 重写一个鼠标左键按下事件,按下就发送信号 定义一个信号 本身ui界面类.h 添加头函数 定义成员数据和成员函数(槽函数) 本身ui界面类.cpp 构造函数 发送数据槽函数 接收数据…

3、Redis-List【常用】

目录 一、重要特点 二、常用命令 三、Redis中List类型应用场景 一、重要特点 ①Redis中的List&#xff0c;视为双向链表 ②Redis中的List&#xff0c;数据可以重复 二、常用命令 常用命令 格式含义例子rpush key value从右边往key中添加value值rpush hobby java pythonlpu…

保姆教程 Docker 部署微服务项目

大家好&#xff0c;我是奇兵。 文章比较长&#xff0c;请耐心看完&#xff01; 项目上线是每位学编程同学必须掌握的基本技能。之前我已经给大家分享过很多种上线单体项目的方法了&#xff0c;今天再出一期微服务项目的部署教程&#xff0c;用一种最简单的方法&#xff0c;带…

备战蓝桥杯Day18 - 双链表

一、每日一题 蓝桥杯真题之工作时长 这个题写代码做的话很麻烦&#xff0c;而且我也不一定能写出来&#xff0c;所以我直接就是用的excel来计算的时间和。 使用excel的做法 1.先把文件中的时间复制到excel中。 2.把日期和时间分到两列。 分成两列的步骤&#xff1a; 选中要…

基于单片机的节能窗控制系统设计

摘 要:本文以单片机为基础,对节能窗控制系统进行了科学设计,在满足日常生活需求的同时更好地实现节能减排目标。此设计中的节能窗控制系统,实际操作要灵活,具备可靠且稳定的性能,同时具备节能功效。 关键词:单片机;节能窗控制系统;系统设计 在节能窗等概念推广的背景…

css实现一行靠右,多行靠左

利用 inline-block 可以根据内容宽度变化的特性 如果内容多到折行了&#xff0c;那自身的宽度会和父级同宽&#xff0c;同宽后&#xff0c;产生折行&#xff0c;这时候就生效了… <!DOCTYPE html> <html lang"en"> <head><meta charset"U…

Atcoder ABC342 E - Last Train

Last Train&#xff08;最后一班火车&#xff09; 时间限制&#xff1a;2s 内存限制&#xff1a;1024MB 【原题地址】 所有图片源自Atcoder&#xff0c;题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【样例输入…