java - Facebook Java SDK | 营销 API 错误 #803
问题描述
我目前正在尝试使用 Facebook Java SDK 自动发布广告。
我只是尝试使用他们提供的基本 facebook 演示代码测试我的 API 身份验证:https ://developers.facebook.com/docs/business-sdk/getting-started/
这里是我定义我的 APIContext 以便我可以实例化我的 AdAccount 的地方:
public static final APIContext context = new APIContext(
"{App Auth Token}",
"{App Secret}"
);
当我执行System.out.println(context.getAppID());
时,我会返回我在developers.facebook 中设置的应用程序的ID。在这一点上,我认为一切都按预期工作......?
然后我尝试执行以下代码:
AdAccount account = new AdAccount("act_{10405322}", context);
try {
APINodeList<Campaign> campaigns = account.getCampaigns().requestAllFields().execute();
for(Campaign campaign : campaigns) {
System.out.println(campaign.getFieldName());
}
} catch (Exception e) {
e.printStackTrace();
}
}
我的应用程序一直失败并显示此响应:
com.facebook.ads.sdk.APIException$FailedRequestException: {"error":{"message":"(#803) Some of the
aliases you requested do not exist:
act_{10405322}","type":"OAuthException","code":803,"fbtrace_id":"A3uiRKVWUVQyMqZO9GIfWAY"}}
有人可以向我解释为什么会这样吗?act_{10405322}
是我尝试访问的广告帐户,所以我不确定为什么“别名不存在”
谢谢!
解决方案
经过严格的测试,我发现两个问题解决了我的错误。
- 我使用的是应用程序令牌而不是页面访问令牌
- 我将act_{10405322}改为act_10405322,终于得到了成功的响应。