通过API设置Facebook封面照片

时间:2011-10-21 13:04:15

标签: facebook api facebook-graph-api profile

有没有办法通过API在Facebook时间轴配置文件上获取和设置新的封面照片?

4 个答案:

答案 0 :(得分:22)

没有用于更改用户个人资料封面的API支持,但您可以上传照片,然后将用户重定向到: http://www.facebook.com/profile.php?preview_cover=PHOTO_ID

答案 1 :(得分:17)

有一个用于更新页面封面照片的API

http://developers.facebook.com/docs/reference/api/page/

它要求提供照片ID,我想这是用户相册中照片的ID。我正在尝试更新照片,但认为首先需要更新相册中的照片以检索照片ID

答案 2 :(得分:6)

您可以通过常规照片API(位于“封面照片”专辑中)以及User objectcover字段中获取图片 - 示例调用为/me?fields=cover检索它。

没有用于设置用户封面照片的API,我也不知道有任何计划添加照片。

可以使用API​​编辑页面的封面照片 - 有关详细信息,请参阅Pages API documentation - 您使用页面访问令牌向/PAGE_ID?cover=<ID of a photo in the page's album>发出POST请求

答案 3 :(得分:1)

$user_id = $facebook->getUser();

if($user_id == 0 || $user_id == "")
{
    $login_url = $facebook->getLoginUrl(array(
    'redirect_uri'         => 'http://yoursite.com/upload.php?coverid='xxxxxx',
    'scope'      => "publish_stream,user_photos,user_photo_video_tags,user_videos"));

    echo "<script type='text/javascript'>top.location.href = '$login_url';</script>";
    exit();
}

//get profile album
$albums = $facebook->api("/me/albums");
$album_id = ""; 
foreach($albums["data"] as $item){
    if($item["type"] == "cover_photo"){
        $album_id = $item["id"];
        break;
    }
}