2011-10-21 48 views

Trả lời

21

There's không hỗ trợ API cho việc thay đổi bìa hồ sơ người dùng, nhưng bạn có thể tải lên một bức ảnh và sau đó chuyển hướng người dùng đến: http://www.facebook.com/profile.php?preview_cover=PHOTO_ID

+0

Điều này dường như không hoạt động nữa (ít nhất là trên Facebook với tính năng Tìm kiếm đồ thị mới được bật). – derekaug

+2

@derekaug Nó vẫn hoạt động. Tất cả những gì bạn cần là lấy ID người dùng và thay thế nó cho tham số preview_cover. Hình ảnh cần phải có trên hồ sơ người dùng. –

+1

Đã xác nhận. Điều này vẫn đang hoạt động! –

5

Bạn có thể tải ảnh qua API ảnh thông thường (trong album 'Ảnh bìa') và cũng trong trường cover của User object - cuộc gọi mẫu là /me?fields=cover để truy xuất.

Không có API để đặt ảnh bìa của Người dùng và tôi không biết bất kỳ kế hoạch nào để thêm ảnh. ảnh bìa

trang có thể được chỉnh sửa bằng cách sử dụng API - xem Pages API documentation để biết thêm thông tin - bạn thực hiện một yêu cầu POST để /PAGE_ID?cover=<ID of a photo in the page's album> với trang access token

+0

Xin chào, tôi thử cái này. nhưng tiếc là nó hiển thị lỗi {"lỗi": {"nội dung": "(# 200) Người dùng không có đủ quyền quản trị cho tác vụ này trên trang này", "nhập": "OAuthException", "code": 200} }. Tôi là quản trị viên của trang của tôi – shahul

16

Có một API cho việc cập nhật ảnh bìa trên một trang

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

Nó yêu cầu một id ảnh mà tôi đoán là id của một bức ảnh từ album người sử dụng. Tôi cố gắng để cập nhật hình ảnh, dù rằng nhu cầu đầu tiên để cập nhật bức ảnh trong album để lấy id ảnh

+4

Điều này rất tuyệt, nhưng dường như không hoạt động đối với tiểu sử. Tôi tải lên ảnh và sử dụng id làm giá trị cho ảnh bìa. FOr người dùng thông thường, trả về {"lỗi": {"message": "(# 100) Chỉ có thể gọi phương thức này trên người dùng thử nghiệm hợp lệ cho ứng dụng của bạn", "type": "OAuthException", "code" : 100}} Đối với người dùng thử, nó trả về true, nhưng ảnh bìa không thay đổi. –

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; 
    } 
} 
+0

Từ kinh nghiệm của tôi, loại album ảnh bìa là "" bìa "' và không phải "cover_photo" '. Tôi cũng có thể nhận được ID đó bằng JavaScript. Tuy nhiên, cho đến nay không có may mắn trong việc cập nhật ảnh bìa hiện tại ... –

Các vấn đề liên quan