使用Facebook Python SDK更新AdSet日预算无效果问题排查
解决Facebook Python SDK更新AdSet每日预算无效的问题
以下是几个可能的原因和对应的修复方案:
预算值格式错误
Facebook Ads API要求每日预算必须是整数类型,且单位为对应货币的最小单位(例如美元用分,700美元需传入70000)。你当前传入的是字符串'700',不仅类型不符合要求,数值也可能未匹配最小货币单位规则。修改代码如下:try: ad_set = AdSet("ADSET_ID") # 假设货币为美元,700美元对应70000分,传入整数 ad_set.update({ AdSet.Field.daily_budget: 70000 }) # 重新拉取AdSet数据验证更新结果 ad_set.remote_read() print(f"更新后每日预算:{ad_set[AdSet.Field.daily_budget]}") except Exception as error: print("[ERROR] The budget for the AdSet was not updated") print(error)AdSet处于不可编辑状态
若AdSet已结束、已删除或已完成,API不允许修改其预算。先检查AdSet状态:ad_set = AdSet("ADSET_ID") ad_set.remote_read() print(f"AdSet状态:{ad_set[AdSet.Field.status]}")仅状态为
ACTIVE或PAUSED的AdSet支持修改预算。Access Token权限不足
确认你的access token拥有ads_management权限,且已通过应用审核。可在Facebook Graph API Explorer中验证token的权限范围。未验证实际更新结果
原代码调用update后直接判定成功,但API可能返回成功响应却未实际执行修改。添加remote_read()重新拉取AdSet数据,能确认预算是否真的更新。
内容的提问来源于stack exchange,提问作者Stefano
相关产品推荐
相关产品推荐

