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

次の 2 つの方法で、Facebook に「尋ねる」ことができます。

(1)グラフ 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 に答える