我需要创建一个 Java 应用程序,每天将来自企业帐户的广告名称存储在数据库中。
这些是采取的步骤:
-我被添加到 Facebook 上的一个企业,可以访问他们的广告帐户
-我在 developers.facebook.com 上注册了一个应用程序。- 从https://developers.facebook.com/tools/debug/accesstoken/获取访问令牌
- 从应用程序面板获取应用程序密码
这是代码片段:
public static final String ACCESS_TOKEN = [the token from above];
public static final Long ACCOUNT_ID = [the business account it];
public static final String APP_SECRET = [the scret from
public static void main(String...args) throws Exception {
APIContext context = new APIContext(ACCESS_TOKEN, APP_SECRET);
AdAccount account = new AdAccount(ACCOUNT_ID, context);
System.out.println(account.getAds().execute().getRawResponseAsJsonObject());
}
我收到以下错误:
com.facebook.ads.sdk.APIException$FailedRequestException: {"error":{"message":"(#273) 此广告 API 调用要求用户是广告帐户的管理员。用户不是广告帐户 XXXXXXXX 的管理员.","type":"OAuthException","code":273,"fbtrace_id":"GD30f+ON/k4"}}
我有以下问题:
1-为什么我需要管理员权限才能列出我可以从 Ad Manager 页面看到的相同广告?
2-如果我的用户失去了对企业帐户的访问权限,但我希望 Java 仍然可以运行怎么办?其他用户还能运行 Java 代码吗?
3-上面的描述和代码有什么问题吗?
4-如何生成永久令牌而不是临时令牌?