import json
import urllib.request

TOKEN = "ya29.a0AT3oNZ_aHNWDZE50cMOABzL-3A5Qf7iP6mF_gEdM9_keovkbhlbGrG01Q1fvLN5qYIs5wmTziJ2AsBNqYSK97bzbYTjRNLsHq-vdlaZvRLrSKtVHkvvu4y2P3n1kc__Bjsz_s41aOBUPIZjzjrsKN-hZBIMyhOso4VilHEQJB35-6UHPJtctaVzXVzrIUghJ9qlhjhOvJwaCgYKASUSARASFQHGX2Mi14oYQzka8AWD21g723GrLQ0209"

def make_request(url):
    req = urllib.request.Request(url)
    req.add_header('Authorization', f'Bearer {TOKEN}')
    req.add_header('Content-Type', 'application/json')
    with urllib.request.urlopen(req) as response:
        return json.loads(response.read().decode())

# Step 1: Get unread message IDs
print("=" * 60)
print("STEP 1: List Unread Messages")
print("=" * 60)
url1 = "https://gmail.googleapis.com/gmail/v1/users/me/messages?q=is:unread&maxResults=5"
messages_response = make_request(url1)
print(json.dumps(messages_response, indent=2))

# Step 2: Get metadata for each message
print("\n" + "=" * 60)
print("STEP 2: Message Metadata")
print("=" * 60)

message_ids = messages_response.get('messages', [])
for msg in message_ids:
    msg_id = msg['id']
    metadata_url = f"https://gmail.googleapis.com/gmail/v1/users/me/messages/{msg_id}?format=metadata&metadataHeaders=from&metadataHeaders=subject&metadataHeaders=snippet&metadataHeaders=date"
    msg_data = make_request(metadata_url)
    print(f"\n--- Message ID: {msg_id} ---")
    print(json.dumps(msg_data, indent=2))

# Step 3: Get Calendar events
print("\n" + "=" * 60)
print("STEP 3: Calendar Events (Next 7 Days)")
print("=" * 60)
calendar_url = "https://calendar.googleapis.com/calendar/v3/calendars/primary/events?timeMin=2026-06-16T00:00:00%2B10:00&timeMax=2026-06-23T23:59:59%2B10:00&maxResults=20&singleEvents=true&orderBy=startTime"
calendar_response = make_request(calendar_url)
print(json.dumps(calendar_response, indent=2))
