Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import print_function
- import httplib2
- import os
- import service
- from apiclient import discovery
- from oauth2client import client
- from oauth2client import tools
- from oauth2client.file import Storage
- import datetime
- try:
- import argparse
- flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
- except ImportError:
- flags = None
- # If modifying these scopes, delete your previously saved credentials
- # at ~/.credentials/calendar-python-quickstart.json
- SCOPES = 'https://www.googleapis.com/auth/calendar.readonly'
- CLIENT_SECRET_FILE =
- 'C:\Users\XXXXXX\AppData\Local\Programs\Python\Codigos
- Funcionando\Agenda\client_secret.json'
- APPLICATION_NAME = 'Agenda'
- MANUAL_AUTH = True
- def get_credentials():
- """Gets valid user credentials from storage.
- If nothing has been stored, or if the stored credentials are invalid,
- the OAuth2 flow is completed to obtain the new credentials.
- Returns:
- Credentials, the obtained credential.
- """
- home_dir = os.path.expanduser('~')
- credential_dir = os.path.join(home_dir, '.credentials')
- if not os.path.exists(credential_dir):
- os.makedirs(credential_dir)
- credential_path = os.path.join(credential_dir,
- 'calendar-python-quickstart.json')
- store = Storage(credential_path)
- credentials = store.get()
- if not credentials or credentials.invalid:
- flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
- flow.user_agent = APPLICATION_NAME
- if flags:
- credentials = tools.run_flow(flow, store, flags)
- else: # Needed only for compatibility with Python 2.6
- credentials = tools.run(flow, store)
- print('Storing credentials to ' + credential_path)
- return credentials
- def main():
- """Shows basic usage of the Google Calendar API.
- Creates a Google Calendar API service object and outputs a list of the next
- 10 events on the user's calendar.
- """
- credentials = get_credentials()
- http = credentials.authorize(httplib2.Http())
- service = discovery.build('calendar', 'v3', http=http)
- now = datetime.datetime.utcnow().isoformat() + 'Z' # 'Z' indicates UTC time
- print('Getting the upcoming 10 events')
- eventsResult = service.events().list(
- calendarId='primary', timeMin=now, maxResults=10, singleEvents=True,
- orderBy='startTime').execute()
- events = eventsResult.get('items', [])
- if not events:
- print('No upcoming events found.')
- for event in events:
- start = event['start'].get('dateTime', event['start'].get('date'))
- print(start, event['summary'])
- if __name__ == '__main__':
- main()
- # evento = {
- # 'summary': 'Google I/O 2015',
- # 'location': '800 Howard St., San Francisco, CA 94103',
- # 'description': 'A chance to hear more about Google's developer
- products.',
- # 'start': {
- # 'dateTime': '2017-11-22T09:00:00-07:00',
- # 'timeZone': 'America/Los_Angeles',
- # },
- # 'end': {
- # 'dateTime': '2017-11-22T17:00:00-07:00',
- # 'timeZone': 'America/Los_Angeles',
- # },
- # 'recurrence': [
- # 'RRULE:FREQ=DAILY;COUNT=2'
- # ],
- # 'attendees': [
- # {'email': 'XXXXXX@XXXXcom.com.br'},
- # {'email': 'XXXXXX@XXXXcom.com.br'},
- # ],
- # 'reminders': {
- # 'useDefault': False,
- # 'overrides': [
- # {'method': 'email', 'minutes': 24 * 60},
- # {'method': 'popup', 'minutes': 10},
- # ],
- # },
- # }
- #
- #
- # evento = service.events().insert(calendarId='XXXX@metodotelecom.com.br',
- body=evento).execute()
- # print('Event created: %s' % (evento.get('htmlLink')))
- created_event = service.events().quickAdd(
- calendarId='primary',
- text='Appointment at Somewhere on June 3rd 10am-10:25am').execute()
- print
- created_event['id']
Add Comment
Please, Sign In to add comment