Как мне получить первое сообщение от Userb?
Этот ниже код помогает получить последнее сообщение.
Я хочу получить первое сообщение от этого пользователя.
пользователь а Я
пользователь b является другим пользователем
Мы хотим, чтобы первое сообщение, отправленное пользователем b пользователю a
Мой код получает последнее сообщение пользователя.
Новое в кодировании Python
Есть предложения?
from __future__ import print_function
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
from apiclient import errors
import base64
import email
from pampy import match, _
# If modifying these scopes, delete the file token.json.
SCOPES = 'https://www.googleapis.com/auth/gmail.readonly'
def main():
"""Shows basic usage of the Gmail API.
Lists the user's Gmail labels.
"""
# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
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()))
#print(service.users().execute())
# Call the Gmail API
results = service.users().labels().list(userId='me').execute()
#print(results)
labels = results.get('labels', [])
if not labels:
print('No labels found.')
else:
print('Labels:')
for label in labels:
print(label['name'])
response = service.users().messages().list(userId='usera@gmail.com',
q='from:userb@gmail.com').execute()
#print(response['messages'])
#print(response)
messages = []
if 'messages' in response:
messages.extend(response['messages'])
while 'nextPageToken' in response:
page_token = response['nextPageToken']
response = service.users().messages().list(userId='usera@gmail.com', q='from:userb@gmail.com',
pageToken=page_token).execute()
messages.extend(response['messages'])
message = service.users().messages().get(userId='usera@gmail.com', id=messages[0]['id'],
format='raw').execute()
print('Message snippet: %s' % message['snippet'])
#print(base64.urlsafe_b64decode(message['raw'].encode('ASCII')))
msg_str = base64.urlsafe_b64decode(message['raw'].encode('ASCII'))
mime_msg = email.message_from_string(str(msg_str))
print(mime_msg)
if __name__ == '__main__':
main()