python调用企业号发送news消息

网上的都是发送text文本,个人嫌弃格式太丑,改发图文,勿喷,喜欢拿去!

注意一下以下几个变量参数:

  1. corpid
  2. corpsecret

3.   appid


#!/usr/bin/python

# -*- coding:utf-8 -*-

‘‘‘

+-----------------------------------------------------------------------+

|Author: Cheng Wenfeng <[email protected]>                               |

+-----------------------------------------------------------------------+

‘‘‘

import urllib,urllib2

import json

import sys

import base64

if int(sys.version_info[0]) < 3 :

reload(sys)

sys.setdefaultencoding(‘utf-8‘)

def gettoken(corpid,corpsecret):

gettoken_url = ‘https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=‘ + corpid + ‘&corpsecret=‘ + corpsecret

try:

token_file = urllib2.urlopen(gettoken_url)

except urllib2.HTTPError as e:

print e.code

print e.read().decode("utf8")

sys.exit()

token_data = token_file.read().decode(‘utf-8‘)

token_json = json.loads(token_data)

token_json.keys()

token = token_json[‘access_token‘]

return token

def senddata(access_token,user,title,content):

newtitle=base64.b64decode(title)

newcontent=base64.b64decode(content)

send_url = ‘https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=‘ + access_token

send_values = {

"touser":user,    #企业号中的用户帐号

"toparty":"1",    #企业号中的部门id

"msgtype":"news",  #企业号中的应用id,消息类型。

"agentid":"xxxxx",

"news": {

"articles":[

{

"title":str(newtitle),

"description":str(newcontent),

#"url": "URL",

#"picurl": "PIC_URL"

}

#{

#"title":newcontent,

#"description": "Description",

#"url": "URL",

#"picurl": "PIC_URL"

#}

]

}

}

send_data = json.dumps(send_values, ensure_ascii=False)

send_request = urllib2.Request(send_url, send_data)

response = json.loads(urllib2.urlopen(send_request).read())

print str(response)

if __name__ == ‘__main__‘:

user = str(sys.argv[1])   #传过来的第一个参数

#title = str(sys.argv[2])  #传过来的第二个参数

#content = str(sys.argv[3])  #传过来的第三个参数

title = base64.b64encode(str(sys.argv[2])) # 传入的字符做base64编码

content = base64.b64encode(str(sys.argv[3]))

corpid = ‘xxxxxxxxxxxx‘   #CorpID是企业号的标识

corpsecret = ‘xxxxxxxxxxxxxxxxxxxxxxxxxx‘  #corpsecretSecret是管理组凭证密钥

accesstoken = gettoken(corpid,corpsecret)

senddata(accesstoken,user,title,content)

时间: 2024-07-30 14:34:23

python调用企业号发送news消息的相关文章

Python实现通过微信企业号发送文本消息的Class

前文<Python实现获取微信企业号access_token的Class>提供了获取微信企业号的access_token,本文中的代码做实际发送文本消息. 编程要点和调用方法: 支持发送中文,核心语句"payload = json.dumps(self.data, encoding='utf-8', ensure_ascii=False)",关键字"python json 中文" 这个Class只有一个公共方法send(). 使用方法:import这个c

zabbix通过微信企业号发送图文消息

我有篇博客写到如何用微信发送告警消息,实现了发送文字消息,不能带图片,这样不是很直观,最近又研究了一下如何发送图片,写了脚本实现了发送文字+图片的告警. 效果如下: 先发送文字消息,下面挨着graph. 这里只提供脚本和思路,具体配置请看我的另一篇博客:(http://wuhf2015.blog.51cto.com/8213008/1688614#662543) 实现方式: 在Action中设置Default Subject的格式为"状态:#{TRIGGER.STATUS}#主机:#{HOST.

记:使用python模拟浏览器发送http消息

python自带的urllib,urllib2可以极方便做http操作,在我们按照http方式提交消息请求后,有可能会看见返回这个错误“403 forbidden",这是请求的网站做了阻止,于是我们需要把自己伪装成模拟器.对此,可以加上headers={'User-Agent':user-agent,'cookie':cookie},注意操作的网站 需要登录账号的话,就需要加上cookie,这两个值可以通过chrome的”开发者工具“查看: 把他们加上去,然后在请求值那里再加上: req = u

微信企业号开发:接收消息和事件

接收到的消息和事件,其实都是微信post到我们配置的URL的消息.接收普通消息就是用户给公众号发送的消息,事件是由于用户的特定操作,微信post给我们的消息.被动响应消息是我们收到微信post过来的普通消息或者是事件时,企业号通过Response.Write这种方式回复的消息. 核心代码: 把微信post过来的数据先解密,转为能处理的XML,再把XML转为对象 #region 将POST过来的数据转化成实体对象 /// <summary> /// 将微信POST过来的数据转化成实体对象 ///

python与shell通过微信企业号发送消息

python与shell通过微信企业号发送信息,脚本来源于网络,做好搬运工,哈哈,相应的参考链接放在末位 shell版本: #!/bin/bash # CropID="xxxx" Secret="xxxxxx" GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" Gtoken=$(/usr/bin/curl -s -G

python 微信企业号-回调模式接收微信端客户端发送消息并被动返回消息

说明:此代码用于接收手机微信端发送的消息 #-*- coding:utf-8 -*- from flask import Flask,request from WXBizMsgCrypt import WXBizMsgCrypt import xml.etree.cElementTree as ET import sys app = Flask(__name__) @app.route('/index',methods=['GET','POST']) def index():         s

python实现微信企业号的文本消息推送

[企业号的创建.企业号应用的创建.组.tag.part就不赘述了,一搜一大堆,但是网上拿的那些个脚本好多都不好使,所以自己修了一个] 坦率的讲,这个脚本是用来作为zabbix的通知媒介脚本的,本人是个菜鸟,如果哪里不对,大神们不要笑话,python也处于学习阶段,如果有哪些地方不合理,很希望可以不吝赐教,废话不多说,脚本奉上: #!/usr/bin/python # _*_coding:utf-8 _*_ import urllib2 import json import sys reload(

zabbix调用telegram机器人发送报警消息

众所周知,telegram的机器人还是非常好用,而且是免费的,所以这就给监控系统发送报警消息提供了一个非常好的渠道,相信很多朋友已经垂涎三尺了,所以废话不多说,直奔主题吧!br/>?zabbix系统基础配置部分此处就直接跳过了,如果需求请参阅http://blog.51cto.com/183530300/category8.html?此处我们直接从创建机器人开始,当然创建机器人的前提是你要先有一个telegram账号,接下来是在telegram客户端上的操作了第一步:在搜索栏里直接使用@BotF

Oracle触发器如何调用Java实现Openfire消息发送

写在前面,要想实现整个过程的成功执行请先准备以下文件: 1. 登陆Openfire服务端以及Spark客户端相关程序(openfire_4_0_1.exe.spark_2_7_6.exe) 2. 连接Openfire和Oracle相关的jar包(presence.jar.smack.jar.smackx-debug.jar.smackx.jar.ojdbc.jar)  Step1:安装Openfire服务端并配置数据库连接,配置参考<Openfire服务器安装与配置教程> Step2:在Ecl