phpfacebookcurlfacebook-graph-apifacebook-fql

getting no user's friend which are using specific app?


I am logged in, I have access token. I have authorization for app.

I wants to retrieve the user's friends which are using this app(Specific) app. If i am running URL with fql and with access_token in browser then this give me accurate result .. but when running with php code ... no result getting..

$userFrndAppUser  = null;

$c2 = curl_init();

curl_setopt($c2, CURLOPT_URL, "https://graph.facebook.com/fql?q=SELECT uid,name, is_app_user FROM user WHERE uid IN(SELECT uid2 FROM friend WHERE uid1 = me()) AND is_app_user = 1&access_token=".$access_token);

curl_setopt($c2, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($c2, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($c2, CURLOPT_SSL_VERIFYHOST, false);

$userFrndAppUser = json_decode(curl_exec($c2));

curl_close($c2);

$userFrndAppUser = object2Array($userFrndAppUser);

echo "<br>User's friend which are using this app..";

print_r($userFrndAppUser);


function object2Array($d){
        if (is_object($d)){
            $d = get_object_vars($d);
        }

        if (is_array($d))
        {
            return array_map(__FUNCTION__, $d);
        }
        else
        { 
            return $d;
        }
    }   

Solution

  • As per my comment above:
    
    $fql = urlencode('SELECT uid,name, is_app_user FROM user  WHERE uid IN(SELECT uid2 FROM friend WHERE uid1 = me()) AND is_app_user = 1');
    
    curl_setopt($c2, CURLOPT_URL, "https://graph.facebook.com/fql?q=".$fql."&access_token=".$access_token);
    

    Alternatively, look at using the Facebook php sdk for this https://developers.facebook.com/docs/reference/php/

    https://developers.facebook.com/docs/reference/fql/