43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
import os
|
||
import sys
|
||
import requests
|
||
import json
|
||
|
||
|
||
def ppt_theme_list(api_key: str):
|
||
url = "https://qianfan.baidubce.com/v2/tools/ai_ppt/get_ppt_theme"
|
||
headers = {
|
||
"Authorization": "Bearer %s" % api_key,
|
||
"X-Appbuilder-From": "openclaw",
|
||
}
|
||
response = requests.post(url, headers=headers)
|
||
result = response.json()
|
||
if "errno" in result and result["errno"] != 0:
|
||
raise RuntimeError(result["errmsg"])
|
||
themes = []
|
||
count = 0
|
||
for theme in result["data"]["ppt_themes"]:
|
||
count += 1
|
||
if count > 100:
|
||
break
|
||
themes.append({
|
||
"style_name_list": theme["style_name_list"],
|
||
"style_id": theme["style_id"],
|
||
"tpl_id": theme["tpl_id"],
|
||
})
|
||
return themes
|
||
|
||
|
||
if __name__ == "__main__":
|
||
api_key = os.getenv("BAIDU_API_KEY")
|
||
if not api_key:
|
||
print("Error: BAIDU_API_KEY must be set in environment.")
|
||
sys.exit(1)
|
||
try:
|
||
results = ppt_theme_list(api_key)
|
||
print(json.dumps(results, ensure_ascii=False, indent=2))
|
||
except Exception as e:
|
||
exc_type, exc_value, exc_traceback = sys.exc_info()
|
||
print(f"error type:{exc_type}")
|
||
print(f"error message:{exc_value}")
|
||
sys.exit(1) |