使用Facebook Ads API和Spring Social Facebook

时间:2017-03-17 07:30:15

标签: spring facebook-graph-api spring-social facebook-ads-api spring-social-facebook

我正在开发一个需要管理多个Facebook广告帐户的SpringBoot应用程序。我已经成功使用了Facebook Java Ads SDK:

https://github.com/facebook/facebook-java-ads-sdk

通过同一帐户(帐户A)中的Facebook应用连接到单个Facebook广告帐户,并制作广告系列和查询广告系列,广告集等:

public static final APIContext context = new APIContext(ACCESS_TOKEN, APP_SECRET);

    public static void main(String[] args)
    {
        try
        {
            AdAccount account = new AdAccount(ACCOUNT_ID, context);
            Campaign campaign = account.createCampaign().setName("Java SDK Test Campaign")
                    .setObjective(Campaign.EnumObjective.VALUE_LINK_CLICKS).setSpendCap(10000L)
                    .setStatus(Campaign.EnumStatus.VALUE_PAUSED).execute();
            System.out.println(campaign.fetch());
        } catch (APIException e)
        {
            e.printStackTrace();
        }
    }

Thew ACCESS_TOKEN,APP_SECRET和ACCOUNT_ID都来自同一个Facebook帐户(帐户A),即创建Facebook应用程序的帐户。 Facebook应用已经审核并批准了ads_management权限。

现在,我需要能够从其他Facebook帐户访问Facebook广告帐户。我使用了spring-social-facebook访问Facebook数据教程:

https://spring.io/guides/gs/accessing-facebook/

要使用Facebook App注册其他Facebook帐户(帐户B),使用范围“ads_read,ads_management”和新Facebook帐户(帐户B)的帐户ID已从原始帐户添加到Facebook App(帐户A)。

但是,当我在上面的代码中使用第二个帐户的帐户ID时,我得到:

 {"error":{"message":"Unsupported get request. Object with ID 'act_105428933326149' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https:\/\/developers.facebook.com\/docs\/graph-api","type":"GraphMethodException","code":100,"fbtrace_id":"Ee5exTqJdCp"}

这表明我在某个地方有权限问题,但我很难过。我甚至不确定我是否遵循了正确的方法。

我已经尝试用谷歌搜索一个如何在spring-social-facebook中使用Facebook Ads API的例子,但除了对存储库的一些提交没有太大帮助,我找不到一个

1 个答案:

答案 0 :(得分:0)

Facebook广告API已tiered access。新注册的应用程序位于开发层中,只能访问用户自己的广告帐户。您需要满足特定条件才能升级到基本层并管理其他人的广告帐户。