0

我正在尝试通过 Facebook Business PHP SDK 访问用户,但出现以下错误:

USER_ID只是我的 FB ID 的占位符。

FacebookAds\Http\Exception\AuthorizationException
Unknown path components: /USER_ID

我正在使用的代码如下:

同样APP_ID, , APP_SECRET, USER_ACCESS_TOKEN, ANDUSER_ID都是占位符,但在我的代码中是正确的。

    $api = Api::init(APP_ID, APP_SECRET, USER_ACCESS_TOKEN);
    $api->setLogger(new CurlLogger());
    $api->setDefaultGraphVersion('v13.0');

    $fbuser =  new \FacebookAds\Object\User(USER_ID);

    die(var_dump($fbuser->getSelf()));

这是我想要实现的第一步,我需要访问与用户关联的广告帐户,但是当我调用以下命令时:

  die(var_dump($fbuser->getAdAccounts()));

我犯了同样的错误:

FacebookAds\Http\Exception\AuthorizationException
Unknown path components: /USER_ID/adaccounts

通过 cURL 或图形 API 资源管理器直接调用图形 API 时。我按预期获得了广告帐户列表,因此我不确定问题出在哪里。

例子:

https://graph.facebook.com/v13.0/USER_ID/adaccounts?access_token=USER_ACCESS_TOKEN

我在这里看到了一些与 API 版本错误有关的旧问题,但我都尝试了,但13.0仍然v13.0没有运气。

将不胜感激任何帮助,因为我更愿意使用 SDK 然后编写我自己的包装器。

4

1 回答 1

0

经过进一步修补,它确实看起来确实是图表版本的问题。

版本需要设置为13.0,而不是v13.00

如果其他人有此问题,则获取广告帐户的工作代码:

    $api = Api::init(APP_ID, APP_SECRET, USER_ACCESS_TOKEN);
    $api->setLogger(new CurlLogger());
    $api->setDefaultGraphVersion('13.0');

    $fbuser = new \FacebookAds\Object\User();
    $fbuser->setId(USER_ID);

    $facebookAdAccounts = $fbuser->getAdAccounts(['id', 'account_id', 'name', 'timezone_name', 'currency']);
于 2022-02-18T17:55:15.203 回答