Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import print_function
- from googleapiclient.discovery import build
- from httplib2 import Http
- from oauth2client import file, client, tools
- import base64
- import email
- from apiclient import errors
- # 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.
- """
- 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
- results = service.users().labels().list(userId='me').execute()
- labels = results.get('labels', [])
- results=service.users().messages().list(userId='me').execute()
- messages=results.get('messages',[])
- result=service.users().messages().get(userId='me',id="1667b29605aa580f").execute()
- message=result.get('messages',[])
- # print(GetMessage(service,'me','166877cf6d4bc254'))
- print(GetMimeMessage(service, 'me','166877cf6d4bc254'))
- #
- # if not labels:
- # print('No labels found.')
- # else:
- # print('Labels:')
- # for label in labels:
- # print(label['name'])
- #
- # if not messages:
- # print('No messages found.')
- # else:
- # print('message:')
- # for headers in messages:
- # print(message['name'])
- #
- # print(messages)
- # print(labels)
- # print(message)
- def GetMessage(service, user_id, msg_id):
- """Get a Message with given ID.
- Args:
- service: Authorized Gmail API service instance.
- user_id: User's email address. The special value "me"
- can be used to indicate the authenticated user.
- msg_id: The ID of the Message required.
- Returns:
- A Message.
- """
- try:
- message = service.users().messages().get(userId=user_id, id=msg_id).execute()
- print ('Message snippet: %s' % message['snippet'])
- return message
- except:
- print ('An error occurred: bliad')
- def GetMimeMessage(service, user_id, msg_id):
- """Get a Message and use it to create a MIME Message.
- Args:
- service: Authorized Gmail API service instance.
- user_id: User's email address. The special value "me"
- can be used to indicate the authenticated user.
- msg_id: The ID of the Message required.
- Returns:
- A MIME Message, consisting of data from Message.
- """
- try:
- message = service.users().messages().get(userId=user_id, id=msg_id,
- format='raw').execute()
- print ('Message snippet: %s' % message['snippet'])
- msg_str = base64.urlsafe_b64decode(message['raw'].encode('ASCII'))
- mime_msg = email.message_from_string(msg_str)
- return mime_msg
- except:
- print ("error")
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement