使用facebook事件API将封面照片上传到创建时的facebook事件

时间:2014-01-13 23:46:05

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

使用事件API我有以下代码用事件照片发布我的事件

  $facebook = new Facebook(array(
      "appId"      => "XXX",
      "secret"     => "XXX",
      "cookie"     => false,
      "fileUpload" => true
  ));

  $data = array("name"=>$eventTitle,
                "start_time"=>$startTime,
                "description"=>$description,
                "privacy_type"=>$privacyType,
                 basename($fileName) => '@'.$fileName
  );

  $result = $facebook->api("/me/events","post",$data);

我有兴趣上传封面照片,但我还没有找到一个明确的方法来使用PHP sdk。我已尝试"source" => '@'.$coverPhoto"cover" => '@'.$coverPhoto"cover_url" => '@'.$coverPhoto和:

  $data = array("name"=>$eventTitle,
                "start_time"=>$startTime,
                "description"=>$description,
                "privacy_type"=>$privacyType,
                 basename($fileName) => '@'.$fileName,
                 "cover" => array(
                    "source" => '@'.$coverPhoto
                 )
  );

但我似乎无法找到合适的方式来推送封面照片。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

不幸的是,你现在不能这样做。

图谱API中有两个与事件相关的端点:/{event-id}/{user-id}/events,根据Graph API documentation,它们都没有提供上传事件封面图片的支持。此外,文档没有提及有关支持上传事件照片的任何内容(我认为,您已成功地使用代码)。

但是,根据官方的Graph API文档和我对Graph API的了解,目前无法做到这一点。

答案 1 :(得分:1)

官方documentation中描述的方法,用于上传截至目前尚未开展的活动的封面照片。我已将此报告为错误。您可以订阅此bug以获取有关相同内容的任何更新。

唯一方式(截至目前) -

首先,在创建活动时,您无法执行此上传封面照片。您首先必须创建一个事件,因此您将获得event_id。使用此event_id拨打电话:

带有参数的{p> \POST /{event-id}cover_url

<强>代码:

$param = array(
    'cover_url' => '{image-link}'
);

$facebook->api('/{event-id}', 'POST', $param);