使用Python实现给企业微信发送消息功能

目录
  • 一、概述
  • 二、python脚本
  • 三、企业微信设置
    • 1. 注册企业微信
    • 2. 点击进入管理后台
    • 3. 创建应用完成后
    • 4. 查看企业id
    • 5. 查看部门id
  • 四、测试脚本

一、概述

本文将介绍如何使用python3给企业微信发送消息。我的环境是linux + python3.6.10。

二、python脚本

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/8/20 上午12:42
# @Author  : wangying
# @Site    :
# @File    : 企业微信.py
# @Software: PyCharm

#!/root/.virtualenvs/wechat/bin/python
# usage: send message via wechat

import requests, sys, json
import urllib3
urllib3.disable_warnings()

###填写参数###

# Corpid是企业号的标识
Corpid = "ww32a580fceb30f350"

# Secret是管理组凭证密钥
Secret = "QyBTbg1QL9lmNwaErqv1DMV0Y_G3lZre268E0hpTDqk"

# 应用ID
Agentid = "1000004"

# token_config文件放置路径
Token_config = r'/tmp/zabbix_wechat_config.json'

###下面的代码都不需要动###

def GetTokenFromServer(Corpid, Secret):
    """获取access_token"""
    Url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
    Data = {
        "corpid": Corpid,
        "corpsecret": Secret
    }
    r = requests.get(url=Url, params=Data, verify=False)
    print(r.json())
    if r.json()['errcode'] != 0:
        return False
    else:
        Token = r.json()['access_token']
        file = open(Token_config, 'w')
        file.write(r.text)
        file.close()
        return Token

def SendMessage(Partyid, Subject, Content):
    """发送消息"""
    # 获取token信息
    try:
        file = open(Token_config, 'r')
        Token = json.load(file)['access_token']
        file.close()
    except:
        Token = GetTokenFromServer(Corpid, Secret)

    # 发送消息
    Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
    Data = {
        "toparty": Partyid,
        "msgtype": "text",
        "agentid": Agentid,
        "text": {"content": Subject + '\n' + Content},
        "safe": "0"
    }
    r = requests.post(url=Url, data=json.dumps(Data), verify=False)

    # 如果发送失败,将重试三次
    n = 1
    while r.json()['errcode'] != 0 and n < 4:
        n = n + 1
        Token = GetTokenFromServer(Corpid, Secret)
        if Token:
            Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Token
            r = requests.post(url=Url, data=json.dumps(Data), verify=False)
            print(r.json())

    return r.json()

if __name__ == '__main__':
    # 部门id
    Partyid = '20'
    # 消息标题
    Subject = '自应用程序代码测试'
    # 消息内容
    Content = 'str(sys.argv[3])'
    Status = SendMessage(Partyid, Subject, Content)
    print(Status)

需要修改的地方,其中Corpid,Secret,Agentid我会在后面的截图指出来要填的值。

下行是linux环境下python3的可执行路径,如果是windows,那么这行就不需要,只要将python的路径加入到path即可

#!/root/.virtualenvs/wechat/bin/python

# Corpid是企业ID

Corpid = "ww34d7fed41a8d5dxx"

# Secret是管理组凭证密钥

Secret = "8QwzOi0xCvbp1ZnCbnQJ1d6uEIv-Lrbcjp93UrHFxxx"

# Agentid是应用ID

Agentid = "1000002"

# Token_config里面存放token信息,这个自己随便填就行,只要自己有写的权限

Token_config = r'/tmp/zabbix_wechat_config.json'

三、企业微信设置

1. 注册企业微信

https://qy.weixin.qq.com/

2. 点击进入管理后台

创建应用

3. 创建应用完成后

Agentid,Secret就出来了

4. 查看企业id

这个就是脚本中的Corpid

5. 查看部门id

我这个python脚本是通过部门id进行群体发送,所以这个部门id到后面会有用。

四、测试脚本

直接运行:python manage.py runserver

以上就是使用Python实现给企业微信发送消息功能的详细内容,更多关于Python企业微信发送消息的资料请关注我们其它相关文章!

(0)

相关推荐

  • python实现企业微信定时发送文本消息的实例代码

    企业微信定时发送文本消息 使用工具:企业微信机器人+python可执行文件+计算机管理中的任务计划程序 第一步:创建群机器人 选择群聊,单击鼠标右键,添加群机器人. 建立群机器人后,右键查看机器人,如下 复制机器人的链接. 第二步:编辑python程序 import requests from datetime import datetime url = 'https://qyapi.we......' #机器人的webhook地址 headers = {'Content-type':'appl

  • Python实现企业微信机器人每天定时发消息实例

    1.背景 由于办公需要"每天定时推送某消息用来提醒群里面所有人",于是决定用企业微信自带的机器人来实现此功能.具体方法我来一一讲述. 2.企业微信API 具体见官网说明:https://work.weixin.qq.com/help?person_id=1&doc_id=13376 3.想法 想到几种方式: 直接写个sh脚本,并用linux定时器执行此脚本就可以了.这种方式简单实用,不过缺点就是修改起来稍微麻烦一点写个Qt/VS客户端程序,做好页面和每天想推送的内容,还是有点麻

  • Python开发企业微信机器人每天定时发消息实例

    由于办公需要"每天定时推送某消息用来提醒群里面所有人",有同事提议用企业微信自带的机器人来实现此功能.我觉得企业微信的这个工具还不错,具体使用方法我来一一讲述. 企业微信API 具体见官网说明:https://work.weixin.qq.com/help?person_id=1&doc_id= 企业微信机器人开发思路 想到几种方式: 直接写个sh脚本,并用linux定时器执行此脚本就可以了.这种方式简单实用,不过缺点就是修改起来稍微麻烦一点 写个Qt/VS客户端程序,做好页面

  • python向企业微信发送文字和图片消息的示例

    吐槽一下企业微信的api文档真的不好读······ 企业微信本来是有功能,可以直接把图片显示到正文的,但是那个api我调用一直出错,各种折腾也没解决.后来感觉就算了,没必要,用url拼接在文字中也行,这样的好处就是以后可以换图床,不局限在企业微信内部(好像免费版一天之内可以上传200张图片,所以如果需求比较大的话可以采用第三方图床) 我把上传部分封装了一个使用新线程的方法,以防使用的时候因为上传卡住主线程(亲测如果不这样的话确实会卡住) import requests import json f

  • 教你利用python实现企业微信发送消息

    一.需要的参数 1.通讯用户:touser 或 通讯组:toparty 2.企业ID:corpid 3.应用ID/密钥:agentId,secret 二.获取通讯用户/组 通讯录 用户的账号或创建组的部门ID 三.获取企业ID 我的企业最下方 四.获取应用ID/密钥 企业微信管理员登录企业微信, 应用管理创建应用 可见范围:发给谁 五.脚本代码 #! /usr/bin/env python # -*- coding: UTF-8 -*- import requests, sys class Se

  • python实现企业微信定时发送文本消息的示例代码

    企业微信定时发送文本消息 使用工具:企业微信机器人+python可执行文件+计算机管理中的任务计划程序 第一步:创建群机器人 选择群聊,单击鼠标右键,添加群机器人. 建立群机器人后,右键查看机器人,如下 复制机器人的链接. 第二步:编辑python程序 import requests from datetime import datetime url = 'https://qyapi.we......' #机器人的webhook地址 headers = {'Content-type':'appl

  • 使用Python实现给企业微信发送消息功能

    目录 一.概述 二.python脚本 三.企业微信设置 1. 注册企业微信 2. 点击进入管理后台 3. 创建应用完成后 4. 查看企业id 5. 查看部门id 四.测试脚本 一.概述 本文将介绍如何使用python3给企业微信发送消息.我的环境是linux + python3.6.10. 二.python脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/8/20 上午12:42 # @Author : wangyin

  • python模仿网页版微信发送消息功能

    这个微信版网页版虽然繁琐,但是不是很难,全程不带加密的.有兴趣的可以试着玩一玩,如果有兴趣的话,可以完善一下,做一些比较有意思的东西. 开发环境:Windows10 开发语言:Python3.6 开发工具:pycharm 抓包工具:fiddler 抓的包如下: import requests import time import re from bs4 import BeautifulSoup import json import random from copyheaders import h

  • 78行Python代码实现现微信撤回消息功能

    Python曾经对我说:"时日不多,赶紧用Python".于是看到了一个基于python的微信开源库:itchat,玩了一天,做了一个程序,把私聊撤回的信息可以收集起来并发送到个人微信的文件传输助手,包括: who :谁发送的 when :什么时候发送的消息 what:什么信息 which:哪一类信息,包括:文本.图片.语音.视频.分享.位置.附件... 01 代码实现 # -*-encoding:utf-8-*- import os import re import shutil i

  • 微信公众号之主动给用户发送消息功能

    前一段时间项目中遇到一个稍微麻烦一点的问题. 即客户要求,他在后台编辑好文章后要主动给每个用户都发送消息,并可以让用户点击直接进入文章页面. 于是乎,当时脑子一热,想着没什么大的问题,so easy.模板消息不就得了. 后来在写代码的过程中却发现,并不行. 微信公众号中模板消息有很严格的限制. 1.必须有用户主动触发事件方可发送模板消息 2.模板消息一分钟只能发送六十条,超过六十条,不好意思.你懂. 于是乎,就想到了另一种方法:群发消息 但是一看文档中群发消息的限制,发现悲催了 群发消息服务号每

  • Python基于钉钉监控发送消息提醒的实现

    目录 一.使用前设置钉钉 二.安全设置 三.发送请求 四.完整代码 一.使用前设置钉钉 1.既然是使用钉钉消息提醒,那么第需要有钉钉. 2.第二步自定义机器人是群机器人,所以需要有个群. 3.添加机器人,点击头像>机器人管理>自定义机器人 4.给机器人取个名字>选择添加到哪个群组>选择适合自己的安全设置>完成 二.安全设置 1.有三种安全设置方式:自定义关键词.加签.IP地址. 2.自定义关键词:简单来说就是你发送的内容必须包含这个关键词,才能发送成功. 3.加签:就是生成你

  • 利用百度地图Android sdk高仿微信发送位置功能及遇到的问题

    接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微信发送功能中,不管用户如何拖拽地图,总有个覆盖物固定了MapView中央,怎么实现? 其实这很容易实现,只要MapView的布局文件中,将一个ImageView覆盖在MapView的中央,就能够实现不管用户如何拖拽地图,覆盖物(ImageView)总固定总MapView中央 2.如何获取MapView中央

  • Python 网络编程起步(Socket发送消息)

    一.服务端(Server.py)    服务端要做的事情是:    1. 创建一个Socket对象 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->import sockets = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)    2. 绑定一个端口 Code highlighting pro

  • python使用jenkins发送企业微信通知的实现

    如果只是想实现将jenkins的构建结果发送到企业微信进行通知,最简便的方式是安装Qy Wechat Notification Plugin插件,网上教程很多就不重复写了,可参考: 一.前言 最近使用Jenkins进行自动化部署,但是部署后,并没有相应的通知,虽然有邮件发送通知,但是发现邮件会受限于接收方的接收设置,导致不能及时看到相关的发布内容.而由于公司使用的是企业微信,因此考虑Jenkins通知企业微信机器人的实现方式. 二.使用企业微信推送的优势 实时提醒项目参与人员项目信息的更新情况

随机推荐