我正在开发一个需要管理多个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的例子,但除了对存储库的一些提交没有太大帮助,我找不到一个
答案 0 :(得分:0)
Facebook广告API已tiered access。新注册的应用程序位于开发层中,只能访问用户自己的广告帐户。您需要满足特定条件才能升级到基本层并管理其他人的广告帐户。