import os, json, urllib.request, time

TOKEN = open("/tmp/m365_token.txt").read().strip()
DRIVE = "b!d79PuNE4sUikf8oSJfQTya8V8kCziUlNt_1sDq_4zl5mehqe3GKmS4y-z5nxXbDB"
ITEM = "01QCTU7EN3BTFEVE5IFJBKQUIJTUYUSCJJ"
LOCAL = "/tmp/Reactivations_out.xlsx"

url = f"https://graph.microsoft.com/v1.0/drives/{DRIVE}/items/{ITEM}/content"
data = open(LOCAL,"rb").read()
req = urllib.request.Request(url, data=data, method="PUT")
req.add_header("Authorization", f"Bearer {TOKEN}")
req.add_header("Content-Type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
resp = urllib.request.urlopen(req, timeout=120)
meta = json.loads(resp.read().decode())
print("UPLOAD ok. id:", meta.get("id"), "name:", meta.get("name"), "size:", meta.get("size"))
assert meta.get("id") == ITEM, f"itemId changed! {meta.get('id')}"
print("itemId preserved:", meta.get("id") == ITEM)
