You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Facebook营销API参数错误:special_ad_categories需为数组

解决Facebook营销API的special_ad_categories参数格式错误问题

你碰到的这个400错误根源很明确——你把要求是数组类型的参数,当成普通字符串传递了。API文档里明确说明special_ad_categories需要是array<enum>类型,但你用putString传了一个看起来像数组的字符串"[NONE]",这在API眼里就是个普通字符串,完全不符合数组类型的要求,自然就报错了。

正确的参数传递写法

在Android的Bundle中,要传递数组类型参数,得用专门的数组方法,而不是把数组转成字符串。修正后的代码如下:

Bundle params = new Bundle();
params.putString("name","My campaign");
params.putString("objectives","LINK_CLICKS");
params.putString("status","PAUSED");
// 使用putStringArray传递数组类型参数
params.putStringArray("special_ad_categories", new String[]{"NONE"});

额外优化方案

如果你的项目允许,也可以用JSONObject来构建请求参数,这种方式能更直观地处理复杂类型,降低格式错误的概率:

JSONObject params = new JSONObject();
try {
    params.put("name", "My campaign");
    params.put("objectives", "LINK_CLICKS");
    params.put("status", "PAUSED");
    JSONArray specialAdCategories = new JSONArray();
    specialAdCategories.put("NONE");
    params.put("special_ad_categories", specialAdCategories);
} catch (JSONException e) {
    e.printStackTrace();
}

内容的提问来源于stack exchange,提问作者cbsah55

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 15:07:59