Я пытался получить данные для чтения сообщения из 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()