使用PHP在Facebook上传活动封面图片

时间:2014-03-31 15:00:42

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

我想在Facebook活动页面上传封面图片。

我使用php-sdk发布事件。这是编辑现有事件的示例:

$event_param = array('name' => $EventName,'start_time' => $StartTime,'location' => $City,'description' => $description);
$img_file = $link_to_image;
$event_param[basename($img_file)] = '@' . realpath($img_file);
$result = $facebook->api('/' . $event_number,'post',$event_param);

但是,封面图片怎么样?我的意思是851x350 px图像。

我试过这个(来自https://developers.facebook.com/docs/graph-api/reference/event/picture/

$response = $facebook->api("/" . $result['id'] . "/picture","POST",array ('source' => $LinkToJpeg,));

和此(来自Facebook PHP SDK: Upload Event Cover Photo

$cover['cover_url'] = $LinkToJpeg;
$eventUpdate = $facebook->api( "/" . $result['id'], 'post', $cover );

其中$ LinkToJpeg类似于" http://www.example.org/mypicture.jpg

这两个例子都不起作用......

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

有效!感谢米塔尔!

有2个错误!

首先是我只有" create_event"允许。我的facebook令牌现已启用以执行以下操作: public_profile,basic_info,read_stream,publish_checkins,status_update,photo_upload,video_upload,create_event,rsvp_event,create_note,share_item,export_stream,publish_stream,manage_pages,publish_actions,user_events,user_friends

可能缺少photo_upload权限!

所以当我创建事件时,我添加以下代码

$cover['cover_url'] = $LinkToJpeg;
$eventUpdate = $facebook->api( "/" . $result['id'], 'post', $cover );

我得到一个有封面的新活动!

第二个错误是尝试使用相同的代码更新封面图片! 这是正确的解决方案:

$event_param['cover_url'] = $LinkToJpeg; 
$result = $facebook->api('/' . $codice_evento_fb,
        'post',
        $event_param
    );