0

我正在使用 php sdk 创建一个 facebook 事件

$param = array(
        'name' => $name,
        'start_time' => $ate,
        'description' => $description,
        'picture' => $photo            
    );

$facebook->api('/me/events', 'POST', $param);

是否可以为本次通话中创建的活动设置封面照片?如果没有,我可以以某种方式设置它吗?

该文档说封面字段需要一个照片ID。如果我还没有上传照片,它没有 id,我该怎么办?

我是否将照片上传到发出“创建事件”操作的用户的 Facebook 帐户,以这种方式获取照片 ID,然后将其发布到事件中?

如果我不想将其上传到用户个人资料怎么办?

谢谢

4

2 回答 2

1

代码示例,创建事件时上传封面照片:

<?php
//extract data from the post
extract($_POST);

//set POST variables
$url = 'https://graph.facebook.com/me/events';


$data["file"] = "@pika.jpg;type=image/jpeg";
$data["access_token"] = "PUT_USER_ACCESS_TOKEN_HERE";
$data["name"] = "testing";
$data["start_time"] = "2013-04-25";
$data["end_time"] = "2013-04-25";
$data["description"] = "coffee";
$data["location"] = "oldtown";
$data["privacy_type"] = "FRIENDS";

//make the POST request
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($curl);

 //curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "Content-Type: multipart/form-data; boundary=--$srand");

//close connection
curl_close($ch);

?>

代码示例,创建事件后,您还可以通过上传新照片来替换封面照片:

<?php
//extract data from the post
extract($_POST);

//set POST variables
$url = 'https://graph.facebook.com/PUT_EVENT_ID_HERE';


$data["file"] = "@pikachu.jpg;type=image/jpeg";
$data["access_token"] = "PUT_USER_ACCESS_TOKEN_HERE";

//make the POST request
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($curl);

//close connection
curl_close($ch);

?>
于 2013-04-19T18:06:35.423 回答
0

要上传活动的封面照片 - 首先,您不能在创建活动时执行此操作。您首先必须创建一个事件,结果您将获得event_id. 使用 this event_id, 拨打电话:

\POST /{event-id}带参数:cover_url

这是目前唯一的方法(我已经测试过)。本文档中描述的方法目前不起作用,这被报告为错误。您可以订阅此错误以获取有关此错误的任何更新。

代码:

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

$facebook->api('/{event-id}', 'POST', $param);
于 2014-04-11T06:32:14.437 回答