Python 调用微信公众号接口(RPA 项目 - 交互篇)

一、需求背景:

        在 RPA 项目中经常会遇到场景的结果或异常情况需要提醒业务人员,然而目前我们用的比较多的是‘消息框’,‘邮件’等功能,以完成交互。 

二、优缺点:

  • “消息框”

    1. 优势: 能够直观在桌面显示;

    2. 缺陷: 需要业务人员盯着屏幕,无法达到完全的释放人力;

  • “邮件”

    1. 优势: 无需业务人员盯着屏幕;

    2. 缺陷: 有些客户会觉得再给机器人申请一个邮箱账户很麻烦;

Python 调用微信公众号接口(RPA 项目 - 交互篇)

三、通过微信公众号推送信息:

前提:在外网环境下 
缺陷:无法传输文件(目前未找到方法)

     如标题,我们也可考虑通过微信公众号去推送消息,以完成交互。

        微信的优势无需质疑, 微信实现了真正的对话,沟通都在“手指尖”,是一个非常方便的沟通工具。不需要引导用户去下载微信,因为微信已存在于最广度用户的手机上。

        话不多说,下面将介绍实现的方法。

四、实现方法:

  • 参考链接:****http://wxpusher.zjiecode.com/docs/#/

  • 通过链接的文档,应该就可以完成配置了。下面简单说下注意项

    1. 首先我们先访问演示程序业:  http://wxpusher.zjiecode.com/demo/(上面的链接页面也有这个网址)

    2. 进入后,会看到一个二维码,直接使用微信“扫一扫”功能,进入后台;

    3. 进入后台后,先创建一个应用,创建成功后会出现下面这张图(需要记录下 APP_TOKEN 的值,后面会用到)
      Python 调用微信公众号接口(RPA 项目 - 交互篇)

    4. 创建好应用后,我们再穿件一个主题,创建成功后如下(记录下 ID)

    5. 创建结束后,点击上图中的关注,在出现二维码后,微信扫下,关注一波,基本就成了。

  • 接着就到了最后一步的代码了,代码如下:

    import json
    import requests
    from selenium import webdriver
    import datetime
    
    
    if 条件满足:  (或者直接放在try里面,就无须判断)
      now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
      url = 'http://wxpusher.zjiecode.com/api/send/message'
      # //内容类型 1表示文字  2表示html(只发送body标签内部的数据即可,不包括body标签) 3表示markdown
      params = {
    	  "appToken":"AT_RW0Nh80YjqeOd4i0hmCcPl9ravUsuUvN",
    	  "content":"异常提醒:" + "XX出现异常,请知悉" + "\n更新时间:" + now_time,
    	  "contentType":1,
    	  "topicIds":[314],
    	  "uids":[ ],
    	  "url":""
      }
    
      params = json.dumps(params)
      # print(type(params))
      headers = {
    	  'Content-Type': "application/json",
      }
      html = requests.post(url, data=params, headers=headers)
      print(html.text)
    

最后运行一下,我们的微信就会接收到如下的消息了(当然还可以以更为美观的格式来展现)
Python 调用微信公众号接口(RPA 项目 - 交互篇)