此代码使用 gmail api 在 gmail 中为我提供了特定用户的第一条消息。如何使用 gmail-api 在我的 gmail 中获取两个特定用户的第一条消息 我可以在这里使用 if else 语句吗?from googleapiclient.discovery import buildfrom httplib2 import Httpfrom oauth2client import file, client, toolsimport timeSCOPES = '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()
1 回答
HUWWW
TA贡献1874条经验 获得超12个赞
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()
添加回答
举报
0/150
提交
取消