Facebook PHP SDK 通过页面 ID 循环事件(带有事件图片)

Facebook PHP SDK Loop through Events (with Event Picture) by Page ID

我正在尝试通过某个页面 ID 获取所有事件,包括事件图片。我已经成功了,但是我使用的这种方法非常非常慢。我会尽量把方法解释清楚。

步骤 1

$request = new FacebookRequest(
  $session,
  'GET',
  '/{page-id}',
  array(
    'fields' => 'events'
  )
);

我使用此请求通过页面 ID 获取所有事件。这 returns 我是一个包含所有事件的数组。但是,此数组不包含属于每个事件的图片。为了解决这个问题,我使用了第二个循环来获取每个唯一事件的事件图片。

注意,在此循环之前,我确保数组仅存在尚未发生的事件以及循环限制(即 5)

步骤 2

 $request = new FacebookRequest(
    $session,
    'GET',
    '/$eventId', // this is the unique event id per event
    array(
      'fields' => 'cover'
    )
 );

这现在为我提供了每个独特事件的封面。它有效,但它肯定不漂亮。此外,它使页面非常非常慢,因为它必须在加载页面之前循环 6 个请求。

有没有人可以帮助我弄清楚如何在一个请求中获取所有这些信息?我确定有人愿意提供帮助。

提前致谢!

您可以使用

而不是将事件作为“字段”来请求
 /page-id/events?fields=cover,description,…

但是如果你有理由将它作为一个字段来请求(比如因为你想同时从页面请求其他字段),你也可以这样做,使用字段扩展 – https://developers.facebook.com/docs/graph-api/using-graph-api/v2.5#fieldexpansion

/page-id?fields=events{description,cover,…}

cocacola?fields=事件{描述,封面}