天天看点

python调用mongodb发送微信企业号

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&amp;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,如需转载请自行联系原作者