-1
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");

「Who Will Marry Me」というアプリを作ろうとしています。

前もって感謝します

4

1 に答える 1

0

これをすべて 1 つのクエリ (および 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の方がはるかに堅牢であるため、実際には PHP SDK を使用する必要があります。

于 2012-08-30T19:39:11.183 に答える