【问题标题】:How can I get the pages that a Facebook account has with SDK 5.0?如何使用 SDK 5.0 获取 Facebook 帐户的页面?
【发布时间】:2017-01-30 15:29:25
【问题描述】:

从这里: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 帐户上所有页面的列表。

【问题讨论】:

  • 去检查developers.facebook.com/docs/php/gettingstarted,它有为PHP SDK v5编写的基本示例。 (你不会找到一个确切的例子 - 但这没关系,它只是一个基本的 API 请求,可以从示例中收集如何实现这些请求。)
  • 我看过那些。他们获取 Facebook 用户管理的页面的示例对我不起作用。
  • 再次:这是一个非常基本的 API 请求。因此,即使是标题为 Retrieve User Profile 的微不足道的示例也可以立即修改为请求页面列表。
  • 我知道这是基本的。我尝试了很多方法,猜想我需要的是一个以数组或其他方式返回页面 ID 的函数。因为它返回的是...等对象的对象

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


【解决方案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();

这会返回一个数组。

【讨论】:

    【解决方案2】:

    你有正确的端点,你只需要确保你有正确的 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 权限。
    • 这只会返回用户是管理员的页面。如果他们担任任何其他角色,则不会返回该页面。

    【讨论】:

    • 我很感激。这在这种情况下有效 $response 返回 Facebook\FacebookResponse 对象,该对象很难从中获取所需的数据,我真正需要的是返回数组中的页面或更平滑的东西。
    猜你喜欢
    • 2012-12-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    相关资源
    最近更新 更多