1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<code>本例 只适用于企业号,公众号没试,可自行测试,方法差不多。有事找官网开发文档。</code>
<code>#!/usr/bin/env python</code>
<code># -*- coding: utf-8 -*-</code>
<code>import</code> <code>requests</code>
<code>import</code> <code>json</code>
<code>import</code> <code>urllib.request</code>
<code>ID</code><code>=</code><code>"xxxxxxxxxxxx"</code>
<code>Secret</code><code>=</code><code>"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"</code>
<code>UserID </code><code>=</code> <code>"hequan2011"</code><code>##成员ID列表(消息接收者,多个接收者用'|'分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送</code>
<code>PartyID</code><code>=</code><code>17</code> <code>##部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数</code>
<code>AppID </code><code>=</code> <code>0</code> <code>##应用ID,默认是 企业小助手 企业应用的id,整型。可在应用的设置页面查看</code>
<code>def</code> <code>get_token(): </code><code>##获取TOKEN</code>
<code> </code><code>gurl </code><code>=</code> <code>"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={}&corpsecret={}"</code><code>.</code><code>format</code><code>(</code><code>ID</code><code>, Secret)</code>
<code> </code><code>r</code><code>=</code><code>requests.get(gurl)</code>
<code> </code><code>dict_result</code><code>=</code> <code>(r.json())</code>
<code> </code><code>return</code> <code>dict_result[</code><code>'access_token'</code><code>]</code>
<code>def</code> <code>get_media_ID(path): </code><code>##上传到临时素材 图片ID</code>
<code> </code><code>Gtoken </code><code>=</code> <code>get_token()</code>
<code> </code><code>img_url </code><code>=</code> <code>"https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={}&type=image"</code><code>.</code><code>format</code><code>(Gtoken)</code>
<code> </code><code>files </code><code>=</code> <code>{</code><code>'image'</code><code>: </code><code>open</code><code>(path, </code><code>'rb'</code><code>)}</code>
<code> </code><code>r </code><code>=</code> <code>requests.post(img_url, files</code><code>=</code><code>files)</code>
<code> </code><code>re </code><code>=</code> <code>json.loads(r.text)</code>
<code> </code><code>return</code> <code>re[</code><code>'media_id'</code><code>]</code>
<code>##</code>
<code> </code>
<code>def</code> <code>send_text(text): </code><code>##发送文字</code>
<code> </code><code>post_data </code><code>=</code> <code>{}</code>
<code> </code><code>msg_content </code><code>=</code> <code>{}</code>
<code> </code><code>msg_content[</code><code>'content'</code><code>] </code><code>=</code> <code>text </code><code>## 消息内容,最长不超过2048个字节</code>
<code> </code><code>post_data[</code><code>'touser'</code><code>] </code><code>=</code> <code>UserID</code>
<code> </code><code>post_data[</code><code>'toparty'</code><code>] </code><code>=</code> <code>PartyID</code>
<code> </code><code>post_data[</code><code>'msgtype'</code><code>] </code><code>=</code> <code>'text'</code>
<code> </code><code>post_data[</code><code>'agentid'</code><code>] </code><code>=</code> <code>AppID</code>
<code> </code><code>post_data[</code><code>'text'</code><code>] </code><code>=</code> <code>msg_content</code>
<code> </code><code>post_data[</code><code>'safe'</code><code>] </code><code>=</code> <code>'0'</code> <code>#表示是否是保密消息,0表示否,1表示是,默认0</code>
<code> </code><code>purl1</code><code>=</code><code>"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={}"</code><code>.</code><code>format</code><code>(Gtoken)</code>
<code> </code><code>json_post_data </code><code>=</code> <code>json.dumps(post_data,</code><code>False</code><code>,</code><code>False</code><code>)</code>
<code> </code><code>request_post </code><code>=</code> <code>urllib.request.urlopen(purl,json_post_data.encode(encoding</code><code>=</code><code>'UTF8'</code><code>))</code>
<code> </code><code>return</code> <code>request_post</code>
<code> </code>
<code>def</code> <code>send_tu(path): </code><code>##发送图片</code>
<code> </code><code>img_id </code><code>=</code> <code>get_media_ID(path)</code>
<code> </code><code>post_data1 </code><code>=</code> <code>{}</code>
<code> </code><code>msg_content1 </code><code>=</code> <code>{}</code>
<code> </code><code>msg_content1[</code><code>'media_id'</code><code>] </code><code>=</code> <code>img_id</code>
<code> </code><code>post_data1[</code><code>'touser'</code><code>] </code><code>=</code> <code>UserID</code>
<code> </code><code>post_data1[</code><code>'toparty'</code><code>] </code><code>=</code> <code>PartyID</code>
<code> </code><code>post_data1[</code><code>'msgtype'</code><code>] </code><code>=</code> <code>'image'</code>
<code> </code><code>post_data1[</code><code>'agentid'</code><code>] </code><code>=</code> <code>AppID</code>
<code> </code><code>post_data1[</code><code>'image'</code><code>] </code><code>=</code> <code>msg_content1</code>
<code> </code><code>post_data1[</code><code>'safe'</code><code>] </code><code>=</code> <code>'0'</code>
<code> </code><code>purl2</code><code>=</code><code>"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={}"</code><code>.</code><code>format</code><code>(Gtoken)</code>
<code> </code><code>json_post_data1 </code><code>=</code> <code>json.dumps(post_data1,</code><code>False</code><code>,</code><code>False</code><code>)</code>
<code> </code><code>request_post </code><code>=</code> <code>urllib.request.urlopen(purl2,json_post_data1.encode(encoding</code><code>=</code><code>'UTF8'</code><code>))</code>
<code>send_tu(</code><code>"1.png"</code><code>) </code><code>##图片目录</code>
<code>send_text(</code><code>"123-何全"</code><code>) </code><code>##文字内容</code>
本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/1906922,如需转载请自行联系原作者