在收到新的电子邮件后,如何配置gmail向我的API发送GET请求?

在收到新的电子邮件后,如何配置gmail向我的API发送GET请求?,gmail,gmail-api,Gmail,Gmail Api,实际上,我想做的是,在收到邮箱中的任何电子邮件后,让gmail对我的API执行GET请求。有办法做到这一点吗 谢谢。当你收到一封新邮件时,有许多服务,例如或可以触发事件(例如“调用api”)。你需要一个程序来管理你的Gmail帐户,并在收到新邮件时进行代码处理 我可以给你举个小例子 使用Python,您可以设置和安装imapclient。使用此功能,您可以与您的Gmail帐户进行交互pip imapclient您需要为此禁用双因素身份验证 现在,使用上面的代码示例,您可以看到当新邮件到达您的帐户

实际上,我想做的是,在收到邮箱中的任何电子邮件后,让gmail对我的API执行GET请求。有办法做到这一点吗


谢谢。

当你收到一封新邮件时,有许多服务,例如或可以触发事件(例如“调用api”)。

你需要一个程序来管理你的Gmail帐户,并在收到新邮件时进行代码处理

我可以给你举个小例子

使用Python,您可以设置和安装
imapclient
。使用此功能,您可以与您的Gmail帐户进行交互
pip imapclient
您需要为此禁用双因素身份验证

现在,使用上面的代码示例,您可以看到当新邮件到达您的帐户时,如何进行交互和操作


现在,您可以执行get请求,而不是GPIO/Raspberry pi操作!这可以通过使用带有一行的
urllib2
库来实现。

请查看gmail API中的watch命令。
这在给定的用户邮箱上设置了一个推送通知监视,当然前提是您有权访问邮箱。

thnks对于您的回复,我将尝试这些服务(y)感谢您的回复,我想调用的api实际起到了这一作用,它使用imap php客户端来获取新收到的电子邮件,我想做的是配置gmail,以便在收到新电子邮件时执行此代码
#!/usr/bin/env python

from imapclient import IMAPClient
import time

import RPi.GPIO as GPIO

DEBUG = True

HOSTNAME = 'imap.gmail.com'
USERNAME = 'your username here'
PASSWORD = 'your password here'
MAILBOX = 'Inbox'

NEWMAIL_OFFSET = 1   # my unread messages never goes to zero, yours might
MAIL_CHECK_FREQ = 60 # check mail every 60 seconds

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GREEN_LED = 18
RED_LED = 23
GPIO.setup(GREEN_LED, GPIO.OUT)
GPIO.setup(RED_LED, GPIO.OUT)

def loop():
    server = IMAPClient(HOSTNAME, use_uid=True, ssl=True)
    server.login(USERNAME, PASSWORD)

    if DEBUG:
        print('Logging in as ' + USERNAME)
        select_info = server.select_folder(MAILBOX)
        print('%d messages in INBOX' % select_info['EXISTS'])

    folder_status = server.folder_status(MAILBOX, 'UNSEEN')
    newmails = int(folder_status['UNSEEN'])

    if DEBUG:
        print "You have", newmails, "new emails!"

    if newmails > NEWMAIL_OFFSET:
        GPIO.output(GREEN_LED, True)
        GPIO.output(RED_LED, False)
    else:
        GPIO.output(GREEN_LED, False)
        GPIO.output(RED_LED, True)

    time.sleep(MAIL_CHECK_FREQ)

if __name__ == '__main__':
    try:
        print 'Press Ctrl-C to quit.'
        while True:
            loop()
    finally:
        GPIO.cleanup()