Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import print_function
- import datetime
- import secrets
- import pickle
- import os.path
- import json
- import hashlib
- import bencode
- from googleapiclient.discovery import build
- from google_auth_oauthlib.flow import InstalledAppFlow
- from google.auth.transport.requests import Request
- # If modifying these scopes, delete the file token.pickle.
- SCOPES = ['https://www.googleapis.com/auth/calendar']
- def main():
- creds = None
- # The file token.pickle stores the user's access and refresh tokens, and is
- # created automatically when the authorization flow completes for the first
- # time.
- if os.path.exists('token.pickle'):
- with open('token.pickle', 'rb') as token:
- creds = pickle.load(token)
- # If there are no (valid) credentials available, let the user log in.
- if not creds or not creds.valid:
- if creds and creds.expired and creds.refresh_token:
- creds.refresh(Request())
- else:
- flow = InstalledAppFlow.from_client_secrets_file(
- 'credentials.json', SCOPES)
- creds = flow.run_local_server(port=0)
- # Save the credentials for the next run
- with open('token.pickle', 'wb') as token:
- pickle.dump(creds, token)
- service = build('calendar', 'v3', credentials=creds)
- #get calendar list
- """calendars_result = service.calendarList().list(showHidden=True).execute()
- calendars = calendars_result.get('items', [])
- print(calendars)"""
- with open("primo1.json") as f:
- cal = json.loads(f.read())
- calId = cal[0]["title"]
- print(calId)
- try:
- resCalendar = service.calendars().get(calendarId=calId).execute()
- except:
- newCal = {}
- newCal["timeZone"] = "Europe/Rome"
- newCal["summary"] = str(calId.split(" ", 1)[0])
- newCal["kind"] = "calendar#calendar"
- newCal["id"] = str(calId.replace(" ", ""))
- newCal["etag"] = str(hashlib.md5(bencode.bencode(newCal)).hexdigest())
- #print(newCal["etag"])
- newCal = json.dumps(newCal)
- res = service.calendars().insert(body=newCal).execute()
- #print(resCalendar)
- """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()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement