import sys
sys.stdout.reconfigure(encoding='utf-8')
from googleapiclient.discovery import build
from google.oauth2.credentials import Credentials

creds = Credentials.from_authorized_user_file('token.json')
yt = build('youtube', 'v3', credentials=creds)

res = yt.commentThreads().list(part='snippet,replies', videoId='DT202N1I4-A').execute()
for it in res['items']:
    top = it['snippet']['topLevelComment']['snippet']
    print(f"Author: {top['authorDisplayName']} at {top['publishedAt']}")
    print(f"Text: {top['textOriginal']}")
    if 'replies' in it:
        for r in it['replies']['comments']:
            rs = r['snippet']
            print(f"   Reply: {rs['textOriginal']} (ID: {r['id']}, Published: {rs['publishedAt']}, Updated: {rs['updatedAt']})")
