私のクライアントは、Facebook アカウントのアルバムに画像を追加して、サイトの画像ギャラリーを更新できるようにしたいと考えています。これはJSONを使用して可能ですか? 彼女が表示することを選択したアルバムは公開する必要がありますか? これについて助けてくれてありがとう!
2 に答える
これは、グラフ API を使用することで確実に可能になります。
彼女のすべてのアルバムの ID を取得します - 必要なものを選択してください:
https://graph.facebook.com/me/albums/
アルバムにアクセスします。
https://graph.facebook.com/ALBUM_ID/photos
user_photos 権限が必要で、アルバムを公開する必要があります。
これにより、すべての写真のリストが次の JSON 形式で返されます。
{
"id": "104988432890979",
"from": {
"name": "Patrick Snape",
"id": "100001394674670"
},
"picture": "http://photos-f.ak.fbcdn.net/hphotos-ak-snc4/hs272.snc4/39934_104988432890979_100001394674670_46790_6171664_s.jpg",
"source": "http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs272.snc4/39934_104988432890979_100001394674670_46790_6171664_n.jpg",
"height": 540,
"width": 720,
"link": "http://www.facebook.com/photo.php?pid=46790&id=100001394674670",
"icon": "http://static.ak.fbcdn.net/rsrc.php/z2E5Y/hash/8as8iqdm.gif",
"created_time": "2010-08-11T10:32:45+0000",
"updated_time": "2010-08-11T10:32:47+0000"
}
}
その後、写真のソースを使用してフルサイズの画像を取得できます
https://graph.facebook.com/USER_ID/albums/ は最新の 25 枚のアルバムを取得し、次のように URL に「limit=0」を設定する必要があります
https://graph.facebook.com/USER_ID/albums/?limit=0 これにより、すべてのアルバムが取得されます...また、アルバム「Wall Photos」が公開に設定されていることを確認してください。そうしないと、「user_photos」が必要になります許可。
次に、「Wall Photos」というタイトルのアルバムのアルバム ID を取得する必要があり、そのアルバム ID を使用して写真を取得できます。
$wall_album_id='';
$url = "http://graph.facebook.com/me/albums?fields=id,name&limit=0";
$obj = json_decode(file_get_contents($url));
foreach($obj->data as $item) {
if ($item->name == 'Wall Photos'){
$wall_album_id=$item->id;
break;
}
}
その後、アルバム「$wall_album_id」を使用して壁の写真を取得できます...