首页 > 解决方案 > 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}是我尝试访问的广告帐户,所以我不确定为什么“别名不存在”

谢谢!

标签: javafacebookhttps

解决方案


经过严格的测试,我发现两个问题解决了我的错误。

  1. 我使用的是应用程序令牌而不是页面访问令牌
  2. 我将act_{10405322}改为act_10405322,终于得到了成功的响应。

推荐阅读