Отображение случайного пола (пола) Изображение профиля друга с помощью FQL
if($user_gender == "male")
{
$fql_query_result = file_get_contents("https://graph.facebook.com/fql?q=SELECT+uid%2C+name+FROM+user+where+uid+IN+(SELECT%20uid2%20FROM%20friend%20WHERE%20uid1%20=%20me())%20and%20sex='female'ORDER%20BY%20rand%20()%20LIMIT%201&access_token=".$access_token);
}
else
{
$fql_query_result = file_get_contents("https://graph.facebook.com/fql?q=SELECT+uid%2C+name+FROM+user+where+uid+IN+(SELECT%20uid2%20FROM%20friend%20WHERE%20uid1%20=%20me())%20and%20sex='male'ORDER%20BY%20rand%20()%20LIMIT%201&access_token=".$access_token);
}
В Graph Api Explorer его показ
{
"data": [
{
"uid": 100001242402868,
"name": "Don Omer"
}
]
}
Как извлечь UID из вышеуказанных данных, чтобы мы могли отобразить его / ее фотографию профиля
$friend_pic = imagecreatefromjpeg("http://graph.facebook.com/".$fql_query_result['uid']."/picture?type=normal");
Я пытаюсь создать приложение под названием "Кто выйдет за меня".
заранее спасибо
1 ответ
Вы можете сделать все это за один запрос (и один вызов API). Попробуй это:
$query = 'SELECT uid, name, sex, pic FROM user WHERE
uid IN (SELECT uid2 FROM friend WHERE uid1 = me())
AND NOT ( sex IN (SELECT sex FROM user WHERE uid = me()))
ORDER BY rand () LIMIT 1';
Быстрый и грязный способ был бы сделать:
$url = "https://graph.facebook.com/fql?q=" . urlencode($query) .
"&access_token=" . $access_token;
$spouse = json_decode( file_get_contents ($url));
printf('<p>You should marry %s. <img src="%s" /></p>',
$spouse->data[0]->name,
$spouse->data[0]->pic
);
Но вы действительно должны использовать PHP SDK, так как он намного более надежен.