【发布时间】:2019-06-06 00:55:03
【问题描述】:
我一直在尝试从 Gmail API 获取数据以读取邮件。
它工作正常,但如何限制此代码仅获取最后 20 条消息。不是所有的消息。
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
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', labelIds=['INBOX']).execute()
messages = results.get('messages', [])
if not messages:
print("No messages found.")
else:
print("Message snippets:")
for message in messages:
msg = service.users().messages().get(userId='me', id=message['id']).execute()
print(msg['snippet'])
if __name__ == '__main__':
main()
编辑:
只需在调用 GMAIL API 以获取收件箱时添加此添加即可。
results = service.users().messages().list(userId='me',maxResults=20,labelIds = ['INBOX']).execute()
【问题讨论】:
标签: python python-3.x limit gmail-api