Office 2013 / 2016 / 2019 ProPlus Retail零售版密钥上架

企业微信做媒介,利用tasker转发安卓短信到微信

Python

更新于:

0x00 概述

财政大权归媳妇所有,短信验证码实时告知媳妇

0x01 开整

原理:

服务器搭建企业微信消息通知,微信与企业微信应用绑定,收取企业微信消息。

tasker读取安卓手机的短信内容,通过http发送到服务器。

企业微信:

【应用管理】>【创建应用】,上传logo,起个名字,可见范围选择想要通知的人,我选择我和我媳妇(需要已经加入了企业)。然后【创建应用】。

选择刚刚创建的应用,在应用页面能看到【AgentId】/【Secret】,可见范围能看到刚才添加的人,鼠标放上就能看到【账号】,一般是拼音,一会需要这个账号。

点击【我的企业】>【微信插件】,右侧的邀请关注是个二维码,用微信扫码(刚才可见范围的微信)。

服务端python:

def send_ent_micromessage(_text, _touser='JiHuoMa', _msgtype='text', _corpid, _appsecret, _agentid):
    '''
    发送企业微信的消息,_touser在电脑端的通讯录查看,暂时只支持文本
    '''
    def _sub():
        _access_token = requests.get('https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={}&corpsecret={}'.format(_corpid, _appsecret)).json()['access_token']
        if _access_token:
            r = requests.post('https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + _access_token, json={
                'touser': _touser,
                'msgtype': _msgtype,
                'agentid': _agentid,
                'text': {
                    'content': _text.replace('\\n', '\n') #直接使用\n不好用,需要替换一下
                }
            })
            return r.json()
        else:
            return False

    return _sub()

if __name__ == '__main__':
    # _corpid 【企业ID】在我的企业查看
    # _appsecret 【Secret】应用管理页面查看
    # _agentid 【AgentId】应用管理页面查看
    # 注意access_token有效时间,默认2效时,也不要每次都请求,写入到数据库,超时了再重新请求新的token
    # _touser 就是在企业微信网页上看到的【账号】,支持多用户,格式'JiHuoMa|JiHuoMa2'
    send_ent_micromessage('测试文本', _corpid='xxxxxxxxx', _appsexret='xxxxxxxxx', _agentid='xxxxxxxx')

http接口就不写了,简单的很

安卓端tasker:

配置文件>新建【事件】>【电话】>【收到短信】,返回

新建任务>【网络】> 【HTTP Request】> 【URL】输入服务器的http接口,举个例子:https://jihuo.ma/api/wechat/?touser=JiHuoMa&text=%SMSRB

其中%SMSRB是变量,指的是短信文本。

0xff 完结撒花

不是完整源码,只是讲个大概,睡了,明天周一,上班愉快

转载请注明:【企业微信做媒介,利用tasker转发安卓短信到微信】https://jihuo.ma/qiyewechat-python-tasker-sms.html

@楼主 昵称
评论