D'accord, laissez-moi d'abord vous dire que je n'ai aucun problème à obtenir les albums photo d'un utilisateur et à parcourir la sortie pour afficher toutes les photos dans la taille que je souhaite.
Cependant, si je veux appeler une photo comme:
<img src="https://graph.facebook.com/<?=$this->session->page->photo_id?>/picture?access_token=<?=$this->session->member->facebook_access_token?>" />
Je ne sais pas comment lui dire la taille que je veux qu'il montre.
Dans cet exemple de code de Facebook, vous verrez que le lactosérum récupérant l'album chaque photo dans le tableau revient avec les différentes tailles dans cet exemple de tableau. Je pourrais simplement enregistrer l'URL de la vignette à partir de cela, mais je ne veux pas la stocker, juste la récupérer en cas de besoin.
{
"id": "10150146071831729",
"from": {
"name": "Facebook",
"category": "Product/service",
"id": "20531316728"
},
"picture": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_s.jpg",
"source": "http://a7.sphotos.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_n.jpg",
"height": 483,
"width": 720,
"images": [
{
"height": 483,
"width": 720,
"source": "http://a7.sphotos.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_n.jpg"
},
{
"height": 120,
"width": 180,
"source": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_a.jpg"
},
{
"height": 87,
"width": 130,
"source": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_s.jpg"
},
{
"height": 50,
"width": 75,
"source": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_t.jpg"
}
],
....... continued...
}
Il doit y avoir un moyen de récupérer ces différentes tailles.
Merci.
Facebook fournit une option de type pour le champ d'image, par exemple, vous pouvez spécifier quelque chose comme:
<img src="https://graph.facebook.com/xxx/picture?access_token=yyy&type=normal />
où le paramètre type peut être l'un de carré, petit, normal, ou grand pour les images de profil ou miniature, normal, album pour les images d'album.
Source: http://developers.facebook.com/docs/reference/api/user/ (sous la section Connexions)
Modifier: Ajout de différentes options pour les images d'album
Je pensais partager une petite astuce pour obtenir des tailles d'image plus grandes à partir de l'API Graph. Facebook comme une petite convention avec des URL d'images ce n'est pas très évident. Par exemple, prenez l'URL suivante:
https://fbcdn-photos-g-a.akamaihd.net/hphotos-ak-prn2/t1/1185356_10201176263222205_1153673992_s.jpg
Remarquez le _s.jpg
à la fin? Cela détermine la taille de l'image. Vous pouvez changer cela en _o.jpg
pour obtenir la version "originale" en taille réelle. En d'autres termes, mettez à jour l'URL de l'image pour:
https://fbcdn-photos-g-a.akamaihd.net/hphotos-ak-prn2/t1/1185356_10201176263222205_1153673992_o.jpg
Chaque image Facebook a un _o.jpg
version. Dans le pire des cas, vous obtenez quelque chose de la même taille que la vignette. Si c'est le cas, vous n'êtes pas mieux lotis qu'avant.
ici src_big et src sont une source d'url d'image de taille différente
function get_photos_by_album_id($album_id){
if($album_id)
$fql = 'SELECT pid,src_big,owner,link,position,created,caption,src FROM photo WHERE aid="'.$album_id.'" ORDER BY created DESC LIMIT 0,6';
$param = array(
'method' => 'fql.query',
'query' => $fql,
'callback' => ''
);
$fqlResult = $this->facebook->api($param);
return $fqlResult;
}