我有一个开发人员帐户,并在开发模式下创建了一个应用程序,仅用于测试目的。我还在business.facebook.com
创建了一个业务经理,并将我的测试应用程序添加到其中。我还有一个广告帐户,它被添加到业务经理中。我还在Advanced --> Advertising Accounts --> Authorized accounts
下的应用程序中添加了广告帐户ID。
然而,当我使用Facebook Graph API资源管理器,并将其设置为使用我创建的应用程序,然后调用/v2.3/[BUSINESS_ID]/product_catalogs
时,我会得到以下错误:
"message": "(#275) Ad account cannot be determined for this request",
如果我直接打电话给广告账户,在/v2.3/act_[adaccountId]
,我可以很好地看到广告账户信息。
如果我在业务经理中自己创建一个产品目录,然后在/v2.3/[product_catalog_id]
中调用端点以获取该产品目录的详细信息,我会得到以下信息:
"message": "(#200) The app is not whitelisted to use this API",
如果我正在访问我是其管理员的目录,以及我是其管理人员的应用程序,并且正在使用开发访问权限,为什么需要将其列入白名单?
正如您所说,这里的问题是,您的应用程序位于Ads API的开发层。广告API有三个层次:
- 开发层
- 基本层
- 标准层
所有这些都记录在营销API访问级别文档中。为了访问Business Manager API的任何部分,您的应用程序需要访问标准层。
我建议您按照文档中的步骤向上提升级别,当您认为自己已经准备好时,可以申请标准层访问