FacebookのタイムラインプロファイルでAPIを介して新しい写真を取得して設定する方法はありますか?APIを介してFacebookの写真を設定する
答えて
を取得するために、アルバムにその写真を更新すると思いますけれども、写真を更新しようとしていますが、あなたは、写真をアップロードすることができますし、ユーザーをリダイレクトする: http://www.facebook.com/profile.php?preview_cover=PHOTO_ID
User objectのcover
フィールドの通常写真API(画像は/me?fields=cover
)で取得できます。
ユーザーの写真を設定するAPIはありません。追加する予定はありません。ページのアクセス権を持つあなたは/PAGE_ID?cover=<ID of a photo in the page's album>
にPOSTリクエストを作るトークン
こんにちは、これを試してみます。残念ながら、エラー "{" message ":"(#200)Userはこのページでこのアクションに対して十分な管理権限を持っていません "、" type ":" OAuthException "、" code ":200} }。私は私のページの管理者です – shahul
ページのカバー写真を更新するためのAPIがあります -
ページのカバーの写真は、APIを使用して編集することができます - 詳細についてはPages API documentationを見ます
http://developers.facebook.com/docs/reference/api/page/
それは、私は、ユーザーのアルバムから写真のIDと思い、写真付き身分証明書を要求します。私は、最初の必要性は、ユーザー・プロファイル・カバーを変更するためのAPIのサポートThere's写真ID
これはとても涼しいですが、プロフィールではうまくいかないようです。私は写真をアップロードし、カバーの値としてIDを使用します。 普通のユーザーの場合は、 {"error":{"message": "#100"あなたのアプリの有効なテストユーザーでのみこのメソッドを呼び出すことができます "、" type ":" OAuthException "、" code " :100}} テストユーザーの場合、trueを返しますが、カバー写真は変更されません。 –
$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;
}
}
私の経験から、カバー写真アルバムのタイプは「cover_photo」ではなく、「cover」である。 JavaScriptでそのIDを取得することもできます。しかし、これまでのカバー写真を更新することは今までなかった... –
これは(少なくとも新しいグラフ検索が有効になっているFacebook上では)もう動作していないようだ。 – derekaug
@derekaugまだ動作しています。必要なのは、User picture IDを取得し、それをpreview_coverパラメータに置き換えるだけです。画像は、すでにユーザープロファイル上にある必要があります。 –
が確認されました。これはまだ動作しています! –