有没有办法使用 Gmail API 将两个用户发送的第一封电子邮件发送到我的 Gmail?

此代码使用 gmail api 在 gmail 中为我提供了特定用户的第一条消息。


如何使用 gmail-api 在我的 gmail 中获取两个特定用户的第一条消息 我可以在这里使用 if else 语句吗?


from googleapiclient.discovery import build

from httplib2 import Http

from oauth2client import file, client, tools

import time


SCOPES = 'https://www.googleapis.com/auth/gmail.readonly'


def main():


    store = file.Storage('token.json')

    creds = store.get()

if not creds or creds.invalid:

    flow = client.flow_from_clientsecrets('credentials.json', SCOPES)

    creds = tools.run_flow(flow, store)

service = build('gmail', 'v1', http=creds.authorize(Http()))


# Call the Gmail API to fetch INBOX

#results = service.users().messages().list(userId='me',maxResults=10,labelIds = ['INBOX']).execute()

results = service.users().messages().list(userId='me', q='googlecommunityteam-noreply@google.com',labelIds = ['INBOX']).execute()


messages = results.get('messages', [])




if not messages:

    print ("\nGmail: \n No gmail mails found.\n")

else:

    print ("Gmail:\n")


    msg = service.users().messages().get(userId='me', id=messages[0]['id']).execute()

    print(msg['snippet'])

    print(msg['internalDate'])





if __name__ == '__main__':

    main()


MM们
浏览 222回答 1
1回答

HUWWW

Gmail 搜索中的 Q 参数与在 Gmail 网站中搜索完全一样,因此如果您转到 gmail 并单击搜索框中右侧的箭头。向上将弹出搜索构建器你可以玩这个并调出你想要的任何类型的搜索from:(Test@gmail.com) to:(me@gmail.com)然后,您可以将其直接转储到请求中的 q 中results = service.users().messages().list(userId='me', q='from:(Test@gmail.com) to:(me@gmail.com)',labelIds = ['INBOX']).execute()现在所有这些都是我在玩的,如果你输入两个电子邮件地址,我无法让它返回两个不同用户的电子邮件,它只返回他们都在现场的电子邮件。因此,我认为您将能够找到两个不同用户发送给您的第一封电子邮件的唯一方法是results = service.users().messages().list(userId='me', q='from:(user1@gmail.com) to:(me@gmail.com)',labelIds = ['INBOX']).execute()results = service.users().messages().list(userId='me', q='from:(user2@gmail.com) to:(me@gmail.com)',labelIds = ['INBOX']).execute()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python