【办公自动化】Python自动向钉钉群组发送文件

场景:定期将号码标记信息以文件形式返回给不同的供应商群组。那么,对于本地文件(图片或excel、csv等),如何实现自动发送到特定群组?本文将通过Python+钉钉小程序实现该功能。

目录

1.创建钉钉小程序并配置相关权限参数

1.1 创建小程序

1.2 权限/参数配置

2.获取指定群聊的chatid

 3.编写Python脚本

1.创建钉钉小程序并配置相关权限参数

1.1 创建小程序

一般于公司而言,需要先获取钉钉后台开发的sit环境权限,小程序开发测试完成后,同步到生产环境(专员)操作,并开通相关权限。

登录钉钉开放平台:钉钉开放平台

小程序创建步骤:应用开发-->企业内部开发-->创建应用-->小程序

创建完成后进入小程序,配置相关权限/参数。

1.2 权限/参数配置

主要配置开发管理和权限管理。这一步走了很多坑,好多文档并没有讲清楚

(1)开发管理:配置服务器出口IP(即白名单)。

有两种方式获取本地IP:

        1)命令行输入:

curl ifconfig.me

        2)打开网页即可看到

http://myip.fireflysoft.net/

(2) 权限管理

需要配置的几个权限如下:

  

2.获取指定群聊的chatid

chatid就是群聊(群组)的唯一标识,是不会变化的,要向特定群聊发文件,必须有chatid。

chaidid的获取从这个官方连接调:

API Explorer

 步骤:填写corpid(填写你自己的),其他默认false

corpid在后台首页信息可以看到:  

点击发起调用-->扫描二维码选择相应群聊-->发起调用,即可获得chatid 

注:第一次发起调用并扫描二维码后,手机端会弹出“扫码授权提示”,点击确定即可;

​​​​​​​

 3.编写Python脚本

Appkey/Appsecret 在小程序应用信息里可以看到,chatid在步骤2中已详细说明。

完整代码如下,填写对应的信息即可: 

import requests
import json# 1.获取接口凭证
def getAccess_token():# 从小程序应用信息处获取appkey = 'dinge**'  appsecret = 'e-ters2bAFUfLn_**' url = 'https://oapi.dingtalk.com/gettoken?appkey=%s&appsecret=%s' % (appkey, appsecret)headers = {'Content-Type': "application/x-www-form-urlencoded"}data = {'appkey': appkey,'appsecret': appsecret}r = requests.request('GET', url, data=data, headers=headers)access_token = r.json()["access_token"]return access_token# 2.获取Midia_id
def getMedia_id():access_token = getAccess_token()  # 本地文件的绝对路径path = r'C:\Users\**'url = r'https://oapi.dingtalk.com/media/upload?access_token=%s&type=file' % access_tokenfiles = {'media': open(path, 'rb')}data = {'access_token': access_token,'type': 'file'}response = requests.post(url, files=files, data=data)json = response.json()return json["media_id"]# 3.文件发送
def SendFile():access_token = getAccess_token()media_id = getMedia_id()# 获取群聊Idchatid = 'chat1ee**' url = 'https://oapi.dingtalk.com/chat/send?access_token=' + access_tokenheader = {'Content-Type': 'application/json'}data = {'access_token': access_token,'chatid': chatid,'msg': {'msgtype': 'file','file': {'media_id': media_id}}}r = requests.request('POST', url, data=json.dumps(data), headers=header)print(r.json())SendFile()

 要向多个群组发文件,写个循环即可。需要代码的私聊。

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

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

相关文章

【分享】零代码连接钉钉宜搭与钉钉智能人事,轻松管理员工信息

客户介绍 烟台某知名食品有限公司是中国海洋水产企业,专注海洋水产品贸易、深加工30余年,集海洋食品的科研开发、生产、全球销售一体的现代化企业集团旗下的一家子公司。成立于1992年,位于美丽的芝罘岛,占地面积约4万平方米&…

调用钉钉API发送消息通知给个人或部门

先让公司行政将你设置为管理员: 需要拥有的权限为:工作台管理,开发者权限。 登录钉钉管理后台: https://oa.dingtalk.com 首先,在开发者账号管理中添加ip白名单 https://open-dev.dingtalk.com/ 开发者信息》开发者账号管理…

接口自动化发送钉钉群消息

一,新建钉钉机器人 1.钉钉群右上角点击群设置,选择智能群助手,点击添加机器人,选择自定义机器人; 2.给机器人起个名字,消息推送开启,复制出webhook,后面会用到,勾选自定义关键词&am…

钉钉考勤对接

一、钉钉依赖包引用 <!--钉钉依赖--><dependency><groupId>com.aliyun</groupId><artifactId>alibaba-dingtalk-service-sdk</artifactId><version>2.0.0</version></dependency>二、创建应用 三、获取应用凭证 四、…

python发送钉钉消息

大家在工作中经常需要采集测试结果或生产告警&#xff0c;然后将信息处理后&#xff0c;通过自定义机器人来发送消息并到对应的人&#xff0c;让他们进行后续的处理&#xff1b; 今天我们就来把如何创建机器人&#xff0c;如何去发送消息&#xff0c;这个简单的流程给手把手的…

python实现发送钉钉消息

需求&#xff1a;企业部门本地部署的缺陷管理工具&#xff0c;企业内部使用钉钉进行工作交流&#xff0c;老板想让每天汇报项目的测试情况&#xff1b; 设计思路&#xff1a; 1、创建钉钉群机器人&#xff0c;每天发送项目测试信息&#xff08;缺陷数量、关闭数量、修复数量、…

Tio实现检测客户端是否在线发送钉钉群消息

文章目录 1.背景2.服务端实现2.1 服务端pom依赖和yml配置2.2 tio服务端WsMsgHandlerServer2.3 xxl-job定时任务扫描客户端是否在线然后发钉钉群告警消息 3.客户端实现3.1 客户端的pom依赖和yml配置3.2 客户端重试和心跳实现 4.客户端和服务端的demo分享 1.背景 Tio的官网 http…

接入钉钉API发送企业消息

工作中有个需求&#xff0c;是要把录入的销售机会由系统自动分配给销售&#xff0c;然后对接钉钉给销售人员发送企业消息&#xff0c;通知他进行跟单。 1. 获取Access_Token Access_Token是企业访问钉钉开放平台全局接口的唯一凭证&#xff0c;即调用接口时需携带Access_Token…

钉钉通知-调用钉钉发送企业内部消息开发

首先&#xff0c;我们要明确需求&#xff1a;自己的系统需要发送通知消息到用户&#xff0c;接收消息用户为同一企业内的人员&#xff0c;选用短信可能涉及到费用问题&#xff0c;故可以选用钉钉或者企业微信&#xff0c;在此我使用钉钉进行发送消息。 调用钉钉发送企业内部消…

Prometheus+Alertmanager+webhook-dingtalk实现钉钉告警

文章目录 一、前提准备及规划二、安装及启动2.1 Prometheus安装启动2.2 Node_export安装启动2.3 Alertmanager安装启动2.4 Webhook-dingtalk安装启动 三、配置及测试3.1 Webhook-dingtalk配置钉钉webhook地址3.2 Alertmanager配置钉钉告警3.3 Prometheus集成Alertmanager及告警…

和chatgpt学架构02-环境搭建

目录 1 安装vs code2 vs code功能介绍3 安装nodejs4 安装vue5 在vs code打开工程总结 我们在上一篇 技术选型 里咨询了chatgpt前后端的框架选择和数据库的选择。有了框架之后就需要选择合适的开发工具了&#xff0c;继续咨询一下chatgpt 我现在选型&#xff0c;前端使用vue&am…

〖编程初学者的自我修养 - 职业规划篇①〗- 大学生选择职业前的自我认知与剖析

历时18个月&#xff0c;采访 850 得到的需求。 不管你是在校大学生、研究生、还是在职的小伙伴&#xff0c;该专栏有你想要的职业规划、简历、面试的答案。说明&#xff1a;该文属于 编程初学者的自我修养 专栏&#xff0c;购买任意白宝书体系化专栏可加入易编程社区&#xff0…

谷歌Bard被曝剽窃ChatGPT?BERT一作跳槽OpenAI,揭惊天内幕

【导读】谷歌有大麻烦了&#xff01;外媒爆料说&#xff0c;Bard的训练数据部分来自ChatGPT。谷歌可能跳到黄河里也洗不清了。 3月29日&#xff0c;外媒The Information曝出了一个惊天大瓜&#xff01; 谷歌的离职员工、已跳槽OpenAI的顶级研究员竟然曝出——Bard竟是用ChatG…

人工智能AIGC最新综述:从 GAN 到 ChatGPT 的AI生成历史

一句话总结 本综述全面回顾了生成模型的历史、基本模型组件、AIGC从单模态交互和多模态交互的最新进展&#xff0c;以及模态之间的交叉应用&#xff0c;最后讨论了AIGC中存在的开放问题和未来挑战。 摘要 最近&#xff0c;ChatGPT 与 DALL-E-2 和 Codex 一起受到了社会的广泛关…

ChatGPT is not all you need,一文综述6大公司9类生成式AI模型

关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c;扫码在主页获取加入方式 计算机视觉研究院专栏 作者&#xff1a;Edison_G 生成模型领域里&#xff0c;ChatGPT 并不是一切。 转自《机器之心》 过去两年&#xff0c;AI 领域里…

chatgpt赋能python:Python最简单的小游戏:猜数

Python 最简单的小游戏&#xff1a;猜数 作为一门高效、简单而且易于学习的编程语言&#xff0c;Python 受到了越来越多的开发者的喜爱。其中&#xff0c;编写小游戏是Python语言学习中一个很有趣的领域&#xff0c;因为它可以帮助你通过实践加深对Python语法和概念的理解。在…

chatgpt赋能Python-python3小游戏

Python3小游戏&#xff1a;为你的休闲时光增添乐趣 如果你正处于寻找一款简单好玩的小游戏&#xff0c;那么Python3小游戏将是你的不二之选。作为一名有10年Python编程经验的工程师&#xff0c;我可以说Python3小游戏是一款非常有趣、挑战性适中、易于上手的游戏。接下来&…

Github推荐--PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)

逛Github的时候会遇到一些很好玩的项目 今天分享一个可以在PC端实现QQ防撤回功能的项目。&#xff08;安卓手机有Xposed框架&#xff09; 首先是项目地址&#xff1a; 我已经看到了&#xff0c;撤回也没用了 使用方法&#xff1a; 下载后解压&#xff0c;会出现RevokeMsgPatche…

微信防撤回功能修改

今天无意之中看到了一个帖子&#xff0c;谈到了有关微信消息撤回的。突发奇想实现一下&#xff0c;以后就不怕错过朋友的消息了。 首先介绍一下基本思路&#xff0c;由于微信采用的是CS端原理&#xff0c;所有的数据请求均通过服务器&#xff0c;客户端只是响应指令而已。 A向…

Git 如何撤回已经push到远端上的代码

首先 git log&#xff0c;目的是找到这次想要撤回的提交的上一次提交&#xff0c;并记录下红框中的commit id 回退代码&#xff0c;输入 git reset --soft commit id 回退代码, 回退完成后代码相当于刚写完的状态&#xff0c;即还没有进行add、commit、push…