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
73
74
75
76
77
78
79
80
<code>python2.x</code>
<code>注意:data变量里, agent_id为刚刚创建的应用</code><code>id</code><code>(可在web页面看到)</code>
<code>toparty即为目标部门,或者可以用touser,totag指定目标账户</code>
<code>比较简单的调用,已实测,可以使用。</code>
<code>#coding:utf-8</code>
<code>import</code> <code>sys</code>
<code>import</code> <code>requests</code>
<code>import</code> <code>json</code>
<code>from</code> <code>pymongo </code><code>import</code> <code>MongoClient</code>
<code>reload</code><code>(sys)</code>
<code>sys.setdefaultencoding(</code><code>'utf-8'</code><code>)</code>
<code>class</code> <code>Weixin(</code><code>object</code><code>):</code>
<code> </code><code>def</code> <code>__init__(</code><code>self</code><code>, corp_id, corp_secret):</code>
<code> </code><code>self</code><code>.token_url </code><code>=</code> <code>'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s'</code> <code>%</code><code>(corp_id, corp_secret)</code>
<code> </code><code>self</code><code>.send_url </code><code>=</code> <code>'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='</code>
<code> </code><code>def</code> <code>get_token(</code><code>self</code><code>):</code>
<code> </code><code>try</code><code>:</code>
<code> </code><code>r </code><code>=</code> <code>requests.get(</code><code>self</code><code>.token_url, timeout</code><code>=</code><code>10</code><code>)</code>
<code> </code><code>except</code> <code>Exception as e:</code>
<code> </code><code>print</code> <code>e</code>
<code> </code><code>sys.exit(</code><code>1</code><code>)</code>
<code> </code><code>if</code> <code>r.status_code </code><code>=</code><code>=</code> <code>requests.codes.ok:</code>
<code> </code><code>data </code><code>=</code> <code>r.json()</code>
<code> </code><code>if</code> <code>data.get(</code><code>'errcode'</code><code>):</code>
<code> </code><code>print</code> <code>data[</code><code>'errmsg'</code><code>]</code>
<code> </code><code>sys.exit(</code><code>1</code><code>)</code>
<code> </code><code>return</code> <code>data[</code><code>'access_token'</code><code>]</code>
<code> </code><code>else</code><code>:</code>
<code> </code><code>print</code> <code>r.status_code</code>
<code> </code><code>def</code> <code>send(</code><code>self</code><code>,message):</code>
<code> </code><code>url </code><code>=</code> <code>self</code><code>.send_url </code><code>+</code> <code>self</code><code>.get_token()</code>
<code> </code><code>data </code><code>=</code> <code>{</code>
<code> </code><code>"touser"</code><code>: </code><code>"hequan2011"</code><code>,</code>
<code> </code><code>"msgtype"</code><code>: </code><code>"text"</code><code>,</code>
<code> </code><code>"agentid"</code><code>: </code><code>"0"</code><code>,</code>
<code> </code><code>"text"</code><code>: {</code>
<code> </code><code>"content"</code><code>: message</code>
<code> </code><code>},</code>
<code> </code><code>"safe"</code><code>:</code><code>"0"</code>
<code> </code><code>}</code>
<code> </code><code>send_data </code><code>=</code> <code>json.dumps(data,ensure_ascii</code><code>=</code><code>False</code><code>)</code>
<code> </code><code>r </code><code>=</code> <code>requests.post(url, send_data)</code>
<code> </code><code>except</code> <code>Exception, e:</code>
<code> </code><code>print</code> <code>r.json()</code>
<code> </code><code>print</code> <code>r.code</code>
<code> </code>
<code>corpid </code><code>=</code> <code>'xxxxxxxxxxx'</code>
<code>corpsecret </code><code>=</code> <code>'xxxxxxxxxxxxxxxxx'</code>
<code>client </code><code>=</code> <code>MongoClient(</code><code>'mongodb://user:[email protected]:27017/'</code><code>)</code>
<code>db </code><code>=</code> <code>client.ku</code>
<code>collection </code><code>=</code> <code>db.biao</code>
<code>a </code><code>=</code> <code>[]</code>
<code>for</code> <code>data </code><code>in</code> <code>collection.find():</code>
<code> </code><code>a.append(data)</code>
<code>l </code><code>=</code> <code>a[</code><code>0</code><code>]</code>
<code>g </code><code>=</code> <code>l</code>
<code>z </code><code>=</code> <code>str</code><code>(g[</code><code>"name"</code><code>])</code>
<code>z1 </code><code>=</code> <code>int</code><code>(g[</code><code>"jg"</code><code>])</code>
<code>print</code> <code>z</code>
<code>msg </code><code>=</code> <code>"1:{0}\n 2:{1}\n"</code><code>.</code><code>format</code><code>(z,z1)</code>
<code>w </code><code>=</code> <code>Weixin(corpid,corpsecret)</code>
<code>w.send(msg)</code>
本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/1898946,如需转载请自行联系原作者