-3

ユーザーが5人の友人などを招待した後にのみ機能する新しいFacebookアプリケーションを構築しようとしています.

そこで、友人を招待する一般的なエンジンを使用する可能性を見つけました。

<html>
<head>
    <title> try </title>
</head>
<body>
    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js">
    </script>
    <script>
        FB.init({ 
            appId:'****', cookie:true, 
            status:true, xfbml:true 
        });

        function FacebookInviteFriends()
        {
            FB.ui({ method: 'apprequests', 
            message: 'My diaolog...'});
        }
    </script>
    <a href='#' onclick="FacebookInviteFriends();"> click here</a>
</body>
</html>

少なくとも5人のメンバーを入力する必要があり、その後新しいページに移動する必要があるオプションを追加する方法はありますか? 私はまだPHPに比較的慣れていないので、助けていただければ幸いです。

4

2 に答える 2

1

選択した友達に apprequest を送信した後であれば、選択した友達の Id をセッションに保持し、FacebookInviteFriends メソッドから読み取ることができます。

function FacebookInviteFriends() { FB.ui({ method: 'apprequests', message: 'My diaolog...'}); to: '<ids from session>' }

于 2012-08-26T16:58:48.930 に答える
0

この質問は facebook や php sdk とは関係ないと思いますが、とにかく、私が思うに非常に多くの方法でそれを行うことができます。リリースしたばかりの 1 つのアプリで、次のようなことを行います。

1) FB.ui メソッドで、次のように max_recipients オプションを追加します。

2) ui メソッドを使用するとコールバックをアタッチできるので、次のようなことができます: FB.ui({ method: 'apprequests', message: 'My diaolog...', max_recipients: 1 }, function(response){ console.log(response) });

この応答変数には、選択したユーザーの ID があります。

次に行うことは、この応答を使用してフォームに入力することです。次のような非表示フィールドを持つフォームがあります。

<form id="miform">
<input type="hidden" name="friend1" value="" id="f1">
<input type="hidden" name="friend2" value="" id="f2">
<input type="hidden" name="friend3" value="" id="f3">
<input type="hidden" name="friend4" value="" id="f4">
<input type="hidden" name="friend5" value="" id="f5">
</form>

jquery を使用して、非表示の入力を設定します (まだコールバック関数の中にいることを思い出してください)。

$('#f1').attr('value',response.to[0]);

3) 最後のステップは検証です。javascript または php で実行できます。

$('#myform').on('submit',function(){
// check if the fields are not empty and submit the form or alert if the fields are empty.
});

これにより、何をしなければならないかがより明確になることを願っています。

よろしく。

于 2012-08-15T20:15:36.987 に答える