[置顶] 教你如何使用Python向手机发送通知(IFTTT)-Python实用宝典

[置顶]教你如何使用Python向手机发送通知(IFTTT)

IFTTT 通知
效果图

你曾想尝试在服务器端或电脑上向手机发送通知吗?

你曾烦恼过企业邮箱的防骚扰机制吗?

现在,我们可以用一种简单轻松的方法来代替企业邮箱了!

进行以下的实验,你需要做好以下准备

  • 1)注册并在手机上下载IFTTT
  • 2)Python3

下面是具体的操作步骤:

1. 首先注册一个IFTTT账号 (https://ifttt.com).  >2. 进入my_applets页面(https://ifttt.com/my_applets) ,新建一个applet. 
IFTTT 设置
新建applet

进去后点击 + this, 如图。

IFTTT new applet

搜索 webhooks.

IFTTT choose a service

进去后选择Receive a web request, 这个trigger能够使得这个webhooks收到一个http请求后触发一个事件。

IFTTT choose trigger

编写该trigger的名称

然后点击 that.

搜索notification.

选择send a notification from the IFTTT app. 这个action能够使得IFTTT发出一个通知。

里面可以设置消息的格式,其中:{{EventName}}是我们前面设定的事件名称,而Add ingredient里面的value1、value2、value3则是服务器端发送http请求时带的参数。

可以设置成如下的格式:

Finish!

好了,准备完毕,我们开始编写Python脚本了!

3. 现在,在My applets里,你应该可以看见你刚新建的webhooks. 点进去之后点击Learn more. 然后进入下方的webhooks. 如图所示。

IFTTT my applets
my applets

进入后点击右上角的Documentation.

IFTTT Documents
Documents

进去之后你就可以看见你关于这个应用的Key. 可以看见其调用方式就是通过发送POST或GET请求到下面这个网址:

https://maker.IFTTT.com/trigger/你的event_name/with/key/你的Key

其中,你还可以带三个参数,以json格式放在body中,如 {"value1": "这是一个测试"},最终通知里的Value1会被这个value1替代。

get/post

制作通知脚本,例如新建一个文件叫 notice.py如下,text放你想发送的文本,可以把notice.py放在你本机上,也可以放在服务器上结合某种功能。记得先在手机上先下载好IFTTT并登陆

打开CMD(Windows)/Terminal(macos)进入该文件目录,运行:

python notice.py

运行完毕后,手机应当就会收到通知了,如果没有收到通知,请检查你的系统设置有没有给IFTTT通知的权限。

import requests

def send_notice(event_name, key, text):
    url = "https://maker.ifttt.com/trigger/"+event_name+"/with/key/"+key+""
    payload = "{\n    \"value1\": \""+text+"\"\n}"
    headers = {
        'Content-Type': "application/json",
        'User-Agent': "PostmanRuntime/7.15.0",
        'Accept': "*/*",
        'Cache-Control': "no-cache",
        'Postman-Token': "a9477d0f-08ee-4960-b6f8-9fd85dc0d5cc,d376ec80-54e1-450a-8215-952ea91b01dd",
        'Host': "maker.ifttt.com",
        'accept-encoding': "gzip, deflate",
        'content-length': "63",
        'Connection': "keep-alive",
        'cache-control': "no-cache"
        }

    response = requests.request("POST", url, data=payload.encode('utf-8'), headers=headers)

    print(response.text)

text = "603609.SH 特大单资金量急剧上增!"
send_notice('你的event_name', '你的Key', text)

效果如图:

喜欢的话,欢迎关注微信公众号:Python实用宝典

未来会有更多的有用的Python教程继续放出哦,请持续关注我们的网站和公众号!

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
已赞8

发表评论