#!/usr/bin/env python3
"""TSLaw: cek aliran data GA4 & pengukuran otomatis (enhanced measurement) — untuk pelacakan konversi tanpa kode."""
import os, json
from google.oauth2 import service_account
from googleapiclient.discovery import build

KEY = os.path.expanduser("~/.hermes/gsc_service_account.json")
adm = build("analyticsadmin", "v1beta",
            credentials=service_account.Credentials.from_service_account_file(
                KEY, scopes=["https://www.googleapis.com/auth/analytics.readonly"]), cache_discovery=False)
PROP = "properties/537990618"

print("=== aliran data ===")
ds = adm.properties().dataStreams().list(parent=PROP).execute().get("dataStreams", [])
for d in ds:
    print(f"   {d['name']} | {d.get('displayName')} | tipe {d.get('type')}")
    print("   kunci tersedia:", sorted(d.keys()))
    ems = d.get("enhancedMeasurementSettings")
    if ems:
        print("   pengukuran otomatis:")
        for k, v in sorted(ems.items()):
            if k != "name":
                print(f"     {k:<34} {v}")
    else:
        print("   (tidak ada setelan pengukuran otomatis pada respons ini)")

print("\n=== kejadian kunci (key events) yang sudah ditandai ===")
ke = adm.properties().keyEvents().list(parent=PROP).execute().get("keyEvents", [])
print(f"   {len(ke)} kejadian")
for k in ke:
    print("   ", k.get("eventName"), k.get("countingMethod"))

print("\n=== izin akun ===")
for a in adm.accounts().list().execute().get("accounts", [])[:5]:
    print("   ", a["name"], a.get("displayName"))
