2011-10-21 7 views

답변

21

잠깐만 실례없는 API 사용자 프로필 커버를 변경 지원,하지만 당신은 사진을 업로드 할 수 있으며, 사용자를 다음으로 리디렉션하십시오. http://www.facebook.com/profile.php?preview_cover=PHOTO_ID

+0

이것은 더 이상 작동하지 않습니다 (적어도 새 그래프 검색이 활성화 된 페이스 북에서는). – derekaug

+2

@derekaug 아직 작동 중입니다. 사용자 이미지 ID를 가져 와서 preview_cover 매개 변수로 바꾸면됩니다. 그림은 이미 사용자 프로필에 있어야합니다. –

+1

확인되었습니다. 아직 작동 중입니다! –

5

일반 사진 API (표지 사진 앨범에 있음)와 User objectcover 필드 (예 : /me?fields=cover)를 통해 사진을 가져올 수 있습니다.

사용자 표지 사진을 설정할 API가 없으며 추가 표지를 추가 할 계획이 없습니다. 자세한 내용은 Pages API documentation를 참조 - -

페이지 '표지 사진은 API 사용하여 편집 할 수 있습니다 당신이 토큰 페이지 액세스 /PAGE_ID?cover=<ID of a photo in the page's album>에 POST 요청을을

페이지의 표지 사진을 업데이트하기위한 API가있다
+0

안녕하세요. 하지만이 페이지에서이 작업에 대한 관리 권한이 사용자에게 충분하지 않습니다. ","type ":"OAuthException ","code ": 200} }. 나는 내 페이지의 관리자이다. – shahul

16

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

내가 사용자의 앨범에서 사진의 ID 추측 사진이 부착 된 신분증을 요청합니다. 그래도 난 처음 필요가 사진 ID를 검색 할 앨범에 그 사진을 업데이트 할 수 있다고 생각, 사진을 업데이트하려고

+4

이것은 매우 멋지지만, 프로필에서는 작동하지 않는다. 나는 사진을 업로드하고 표지에 사용할 값으로 ID를 사용합니다. 정규 사용자의 경우 유효한 테스트 사용자에게만 앱에 대해이 메소드를 호출 할 수 있습니다. ""오류 : { "message": "# 100}": "OAuthException", "code" : 100}} 테스트 사용자의 경우 true를 반환하지만 표지 사진은 변경되지 않습니다. –

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

제 경험상, 표지 사진 앨범의 종류는''cover_photo''가 아닌''표지''입니다. 나는 또한 자바 스크립트에서 그 ID를 얻을 수있다. 그러나 지금까지 현재 커버 사진을 업데이트하는 데는 아무런 운이 없었습니다 ... –

관련 문제