import hashlib
import os
import time
import requests
from urllib.parse import quote_plus
app_id = os.environ["APP_ID"]
app_secret = os.environ["APP_SECRET"]
timestamp = int(time.time() * 1000)
fields = {
"app_id": app_id,
"app_secret": app_secret,
"sign_ver": "1.0",
"timestamp": timestamp,
}
query = "&".join(
f"{quote_plus(str(key), safe='')}={quote_plus(str(value), safe='')}"
for key, value in sorted(fields.items())
).replace("~", "%7E")
signature = hashlib.md5(query.encode("utf-8")).hexdigest()
payload = {
"app_id": app_id,
"sign_ver": "1.0",
"timestamp": timestamp,
"signature": signature,
}
response = requests.post(
"https://api.aichs365.com/api/v1/getAccessToken",
json=payload,
timeout=30,
)
response.raise_for_status()
token = response.json()["data"]["access_token"]