APIを介してFacebookタイムラインプロファイルで新しいカバー写真を取得して設定する方法はありますか?
ユーザープロファイルのカバーを変更するためのAPIサポートはありませんが、写真をアップロードしてから、ユーザーを次の場所にリダイレクトできます: http://www.facebook.com/profile.php?preview_cover=PHOTO_ID
ページのカバー写真を更新するためのAPIがあります
http://developers.facebook.com/docs/reference/api/page/
ユーザーのアルバムの写真のIDであると思われる写真IDを要求します。写真を更新しようとしていますが、写真IDを取得するには、最初にアルバム内のその写真を更新する必要があると思います
通常の写真API(「カバー写真」アルバムにあります)を介して画像を取得できます。また、 ユーザーオブジェクト のcover
フィールドでも取得できます。サンプル呼び出しは/me?fields=cover
で取得できます。それ。
ユーザーのカバー写真を設定するためのAPIはなく、追加する予定もありません。
ページのカバー写真はAPIを使用して編集できます-詳細については Pages APIドキュメント を参照してください-ページアクセストークンを使用して/PAGE_ID?cover=<ID of a photo in the page's album>
にPOSTリクエストを送信します
$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;
}
}