0

我正在使用 facebook 请求对话框来邀请我的朋友使用应用程序。我添加了 app_non_users 和 exclude_ids 来过滤用户。但是一旦我邀请了我所有的朋友,就需要跳过这个请求对话框。目前它显示消息没有结果并且无法重定向到画布页面

这是代码

$requests_url = "http://www.facebook.com/dialog/apprequests?app_id="
                . $appid . "&redirect_uri=" . $canvas_url."&message=" . $message. "&filters=" . json_encode($filters)."&exclude_ids=". json_encode($exclude_ids);

if (empty($_REQUEST["request"])) {
    echo("<script> top.location.href='" . $requests_url. "'</script>");           
}
4

1 回答 1

1

您可以通过两种方式“询问”facebook:

(1) 使用graph api,您可以向/me/friends?fields=installed发出请求,该请求应返回用户列表,安装了该应用程序的用户将具有以下形式:

{
    "installed": true, 
    "id": "USER_ID"
}

没有该应用程序的将是这种形式:

{
    "id": "USER_ID"
}

然后遍历列表,检查有多少,如果它是 0 则不显示对话框。

(2) 您可以使用FQL查询谁是未安装应用程序的朋友:

SELECT 
    uid
FROM 
    user 
WHERE 
    not is_app_user 
    AND 
    uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

如果结果为空字符串,则所有朋友都拥有该应用程序。

于 2012-04-19T16:59:03.547 回答