如何通过SDK 5.0获取Facebook帐户所拥有的页面?

时间:2017-01-30 15:29:25

标签: facebook api facebook-graph-api facebook-php-sdk

从这里开始:https://developers.facebook.com/docs/graph-api/reference/user/accounts/我必须在我的代码中写这个

$request = new FacebookRequest(
             $session,
             'GET',
             '/{user-id}/accounts'
           );

$response = $request->execute();

这里的问题是API的2.8版和SDK 5.0的execute()不存在。如何获得Facebook帐户上所有页面的列表。

2 个答案:

答案 0 :(得分:1)

您拥有正确的终端,您只需要确保在PHP中有正确的调用:

$fb = new Facebook\Facebook([
  'app_id' => '{app-id}',
  'app_secret' => '{app-secret}',
  'default_graph_version' => 'v2.5',
]);

// Sets the default fallback access token so we don't have to pass it to each request
$fb->setDefaultAccessToken('{access-token}');

$response = $fb->get('{user-id}/accounts');

还要记住:

  • 您需要确保您的应用要求获得manage_pages权限。
  • 这只返回用户是Admin的页面。如果他们具有任何其他角色,则不会返回该页面。

答案 1 :(得分:1)

@JayNCoke的方法是正确的。

$fb = new Facebook\Facebook([
  'app_id' => '{app-id}',
  'app_secret' => '{app-secret}',
  'default_graph_version' => 'v2.5',
]);

// Sets the default fallback access token so we don't have to pass it to each request
$fb->setDefaultAccessToken('{access-token}');

$response = $fb->get('{user-id}/accounts');

$ response返回Facebook \ FacebookResponse对象

要以可用的数据格式获取它,只需调用getDecodedBody(),如下所示

$response = $response->getDecodedBody();

这将返回一个数组。