async def list_ad_creatives(
ad_id: str,
meta_access_token: Optional[str] = None,
page_cursor: str = "",
) -> str:
if not ad_id:
return _json({"error": "No ad ID provided"})
params: Dict[str, Any] = {"fields": _CREATIVE_FIELDS}
if page_cursor:
params["page_cursor"] = page_cursor
payload = await make_api_request(
f"{ad_id}/adcreatives",
meta_access_token,
params,
)
if isinstance(payload, dict) and isinstance(payload.get("data"), list):
for row in payload["data"]:
if isinstance(row, dict):
row["image_urls_for_viewing"] = extract_creative_image_urls(row)
return _json(payload)