Php Facebook live好友搜索fql问题

Php Facebook live好友搜索fql问题,php,facebook,facebook-fql,facebook-php-sdk,Php,Facebook,Facebook Fql,Facebook Php Sdk,我在朋友搜索方面有一些问题。我正在开发一个应用程序,它可以发布一些东西来选择朋友墙。我正在使用JavaScript SDK登录并获得权限 我的初始化函数: FB.init({ appId: 'xxxxxxxxx', status: true, cookie: true, xfbml: true, oauth: true}); FB.lo

我在朋友搜索方面有一些问题。我正在开发一个应用程序,它可以发布一些东西来选择朋友墙。我正在使用JavaScript SDK登录并获得权限

我的初始化函数:

FB.init({
                appId: 'xxxxxxxxx',
                status: true,
                cookie: true,
                xfbml: true,
                oauth: true});
FB.login(function(response) {
                    if (response.authResponse){
                        //if loged in
                    }else{ 
                       //if canceled
                    }
                }, {scope: 'publish_stream'});
登录功能:

FB.init({
                appId: 'xxxxxxxxx',
                status: true,
                cookie: true,
                xfbml: true,
                oauth: true});
FB.login(function(response) {
                    if (response.authResponse){
                        //if loged in
                    }else{ 
                       //if canceled
                    }
                }, {scope: 'publish_stream'});
在此之后,我使用的输入id是jQuery for friend live search的搜索:

$("#search").keyup(function(){
        $("#friends").load("draugai.php",{
            "search":$("#search").val()
        }, function(){
            $(".friend").click(function(){
                $(this).addClass("selected").siblings().removeClass("selected");
            });
        });
    });
我的php文件使用fql进行好友搜索:

   require_once('facebook.php');

$config = array(
    'appId' => 'XXX',
    'secret' => '1234',
    'cookie' => true
);
$facebook = new Facebook($config);
try {
    $user_id = $facebook->getUser();
} catch (FacebookApiException $e) {
    echo($e->getType());
    echo($e->getMessage());
}

if ($_POST['search'] != "") {
    $search = strtolower($_POST['search']);
    $fql = "SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND strpos(lower(name),'$search') >= 0 ORDER BY name";
} else {
    $fql = "SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY name";
}
if ($user_id) {
    try {
        $ret_obj = $facebook->api(array(
            'method' => 'fql.query',
            'query' => $fql,
                ));
        foreach ($ret_obj as $value) {
            echo "<div class=\"friend\" uid=\"" . $value['uid'] . "\">";
            echo $value["name"] . "<img src=\"" . $value['pic_square'] . "\"/>";
            echo "</div>";
        }
    } catch (FacebookApiException $e) {
        echo($e->getType());
        echo($e->getMessage());
    }
} else {
    echo "no user";
}
我对此应用程序有一些问题:

我无法在Google Chrome上运行此功能。当我使用Firefox时,一切都很好,但当我在Chrome上尝试时,php文件不会打印任何用户。如果我根本不登录,它的行为是一样的。 另一个问题是,这种实时搜索的速度非常慢。它在5-6秒后发送响应。如何提高搜索速度?起初我努力使用请求对话框,但我只想选择一个用户。
<>你可以考虑使用。它使用非常熟悉的下拉列表来选择朋友,您的用户无疑会熟悉这一点。你可以将好友搜索留在Facebook上 您已经演示了可以使用JavaScript SDK调用login方法,因此调用该方法应该非常简单。这是我上面链接的Facebook文档中的一个代码示例

在回调函数中,您可以通过检查post_id参数是否存在来检测post是否成功。
让Facebook帮你吧!那个

只是一个注意事项-一个人不应该发布应用程序机密、访问令牌、应用程序ID等。。。有了这些信息,有人可能会冒充您、您的应用程序或您的页面,并执行一些恶意操作。我已经从你的帖子中删除了敏感数据。请以后注意这一点。我之前看到过这个机会,但这对我的申请不好,因为首先我需要选择朋友,然后选择在他的墙上张贴什么。好吧……好吧。。。在这种情况下,您可能希望预先获取用户的朋友并将他们存储在您的数据库中,然后为自动完成查询您自己的数据库。