"""_list_cats_v0.py — DOČASNÉ: vypíše nedávné e-maily mailboxu (argv[1]) + jejich kategorie.""" import sys sys.stdout.reconfigure(encoding="utf-8") import msal, requests TENANT_ID="7d269944-37a4-43a1-8140-c7517dc426e9" CLIENT_ID="4b222bfd-78c9-4239-a53f-43006b3ed07f" CLIENT_SECRET="Txg8Q~MjhocuopxsJyJBhPmDfMxZ2r5WpTFj1dfk" AUTHORITY=f"https://login.microsoftonline.com/{TENANT_ID}" mailbox = sys.argv[1] if len(sys.argv) > 1 else "vladimir.buzalka@buzalka.cz" BASE=f"https://graph.microsoft.com/v1.0/users/{mailbox}" app=msal.ConfidentialClientApplication(CLIENT_ID,authority=AUTHORITY,client_credential=CLIENT_SECRET) tok=app.acquire_token_for_client(scopes=["https://graph.microsoft.com/.default"]) H={"Authorization":f"Bearer {tok['access_token']}"} # 1) nejnovějších 20 e-mailů (napříč schránkou) r=requests.get(f"{BASE}/messages",headers=H,params={ "$top":20,"$orderby":"receivedDateTime desc", "$select":"subject,from,receivedDateTime,categories"},timeout=30) print(f"[{mailbox}] nejnovějších {len(r.json().get('value',[]))}:") for m in r.json().get("value",[]): cats=m.get("categories") or [] frm=m.get("from",{}).get("emailAddress",{}).get("address","") flag=" <<< KATEGORIE" if cats else "" print(f" {m.get('receivedDateTime','')[:10]} | {frm:28.28} | {str(cats):28} | {m.get('subject','')[:50]}{flag}") # 2) cokoliv s kategorií obsahující KPC/Claude (zkus víc názvů) print("\nHledám kategorie ~ KPC/Claude:") for cat in ["ForKPCGeneration","KPCzpracovánoClaudem","KPC","ForKPC","Claude","Pro Tebe","ProClaude"]: rr=requests.get(f"{BASE}/messages",headers=H,params={ "$filter":f"categories/any(c:c eq '{cat}')","$select":"subject","$top":5},timeout=30) n=len(rr.json().get("value",[])) if rr.ok else f"ERR{rr.status_code}" print(f" '{cat}': {n}")