我正在使用
通过php sdk创建一个facebook事件$param = array(
'name' => $name,
'start_time' => $ate,
'description' => $description,
'picture' => $photo
);
$facebook->api('/me/events', 'POST', $param);
是否可以为此次通话中创建的活动设置封面照片? 如果没有,我能以某种方式设置吗?
文档说封面字段需要照片ID。 如果我还没有上传照片,它没有id,那我该怎么办?
我是否将照片上传到发布“创建活动”操作的用户的facebok帐户,将照片ID设为那样,然后将其发布到活动中?
如果我不想将其上传到用户个人资料怎么办?
谢谢
答案 0 :(得分: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);
?>
答案 1 :(得分:0)
上传活动的封面照片 - 首先,您无法在创建活动时执行此操作。您首先必须创建一个事件,因此您将获得event_id
。使用此event_id
拨打电话:
\POST /{event-id}
:cover_url
这是唯一的方式(现在已经测试过)。 this documentation中描述的方法现在不起作用,这被报告为一个错误。您可以订阅此bug以获取有关相同内容的任何更新。
<强>代码:强>
$param = array(
'cover_url' => '{image-link}'
);
$facebook->api('/{event-id}', 'POST', $param);