Facebook PHP SDK:上传活动封面照片

4
我使用facebook-php-sdk为页面创建事件。
现在,正如此处所述,可以上传图片到事件中。
问题在于,这是个人资料图片。但是自从一年多以来,Facebook 为活动提供了新的大封面照片。 我想将图片上传到那里,而不是作为个人资料图片。 这可行吗?我没有在Facebook Developer Graph Api Events Page上找到任何帮助,因为那里只描述了上传个人资料图片的方法(HTTP POST TO /EVENT_ID/picture)。
简而言之:是否可以通过Graph API上传事件的封面照片?
更新:我尝试将图片上传到页面相册并检索图片ID。 然后我尝试选择此图片作为活动的封面照片。
$cover = array(
    'cover' => $uploaded_photo_id,
);          
$fb->api('/' . $this->FacebookEventID, 'POST', $cover);

很遗憾,这种方法无法直接在页面上运行。
我开始觉得,目前可能不可能实现这个功能。
此外,如果您通过网站设置封面照片,可以使用以下查询图形API:https://graph.facebook.com/Event_ID?fields=cover,它将返回封面。
更新:
我仍然没有成功。但是,如果您回答,请记住:我想上传事件的封面图片!而非头像

你有没有在这方面取得任何成功? - Sahil Mittal
@Sahil Mittal 请查看下方标记为已接受的答案。这种方法是可行的。请注意,您提供图像的服务器必须是真正的服务器,并且可以通过公共互联网访问。 - Marvin Dickhaus
3个回答

6
所有以上的答案都是错误的!只有一种方法可以创建封面图片:
创建活动:
$eventData = array(
    'name' => 'Event Title',
    'start_time' => 'StarttimeInCorrectFormat',
    'description' => 'Event Description'
);
$fbEvent = $fb->api('/PAGE_ID/events/', 'post', $eventData);

使用上述ID更新事件:

$cover['cover_url']     = 'http://urlToCoverImage.jpg';
$eventUpdate = $facebook->api( "/" . $fbEvent['id'], 'post', $cover );

返回 true 或 false。

就是这样。覆盖完成。


我只是引用上一篇帖子的话: 你好,这个答案是错误的。如前所述,我想上传一张图片作为封面。将图片发布到“cover_url”会将其设置为活动的个人资料图片,而不是封面。 - Marvin Dickhaus
回答晚了,但是不会!上面的代码确实将图像设置为封面,就像所述的那样! - ClubDesign
@ClubDesign 我需要修改这个。你是正确的。这种方法可行。非常感谢你。 - Marvin Dickhaus
顺便说一下:似乎Facebook不接受SSL加密的链接。因此,https无法使用。 - Marvin Dickhaus
以前这个对我来说是可以工作的,但突然间就停止了!有人遇到过这个问题吗?(OAuthException #2) - Almog Baku

0

我刚刚通过使用Facebook PHP SDK找到了如何做到这一点:

1- 使用以下方法在页面上发布Facebook事件

$attachment = array(
    'access_token' => $access_token,
    'name' => $title,
    'start_time' => $start_time,
    'description' => $description
);
$res = $fb->api('/PAGE_ID/events/', 'post', $attachment);

2- 从post的结果中检索EVENT_ID

$fb_event_id = $res['id'];

3- 通过调用/EVENT_ID并使用封面参数来更新事件
$attachment['cover'] = '@/path/to/image.jpg';                                   
$fb->api('/'.$fb_event_id, 'post', $attachment);

就是这样!!


很遗憾,那不是我想要的:如前所述,我想上传一张图片作为封面。将图像发布到“cover”会将该图像设置为事件的个人资料图片,而不是封面。 - Marvin Dickhaus

0

可以的。您可以使用Graph API上传封面照片。 创建活动后,您可以使用cover_url字段上传封面照片。'cover_url' => 照片的URL。


1
你好,这个答案是错误的。正如之前所述,我想上传一张图片作为封面。将一张图片发布到 cover_url 会将该图片设置为活动的个人资料图片,而不是封面。 - Marvin Dickhaus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接