5

私はFacebookのリクエストダイアログを使用して友達リストを表示し、これをFacebookWebAPPで招待しています。

    function sendRequestViaMultiFriendSelector() {
        FB.ui(
        {
            method: 'apprequests',
            message: 'Selección de amigos a los que invitar a KugaBar'
        }, requestCallback);
    }
    
    function requestCallback(data) {
        
        console.log(data);
}

それは動作します(わかりました)。

ただし、APPに入力するときにユーザーを識別する必要があります。requestCallbackデータが表示され、「リクエスト」が表示されますが、ユーザーが通知をクリックしてAPPに入力すると、

  • ユーザーが通知によってアクセスしているかどうかを検出するために、リクエストを識別する方法がわかりません。

編集:OK私はそれを見つけました。

GET変数のパラメータは「request_ids」ですが、1つの問題が発生します。このパラメータは、ユーザーが以前にアクセス許可を受け入れた場合にのみ発生し、ユーザーが通知をクリックしてアクセス許可を受け入れ、Enterキーを押します。このパラメータは適用されません。ユーザーが再度入力した場合(何も受け入れる必要はありません)、このパラメーターはURLに存在します。

ユーザーが最初に入力したときにこのパラメーターを取得する方法はありますか?

ありがとう

4

2 に答える 2

0

ユーザーが最初にリクエストをクリックしたときに、URL から request_id を取得し、それを Cookie に保存する必要があります。ユーザーがログインを完了したら、Cookie が存在するかどうかを確認し、それに応じてレコードを更新します。

于 2013-02-14T15:44:41.473 に答える
0

通知リクエストは、Facebook では同じものではありません。あなたの場合、あなたはリクエストについて話している。リクエスト ID は、カンマ区切りのリストである GET パラメータ 'request_ids' としてアプリに渡されます。

ログイン ダイアログの後でこのパラメーターにアクセスできるようにするには、OAuth ダイアログにリダイレクトする前に元の起動 URL から GET パラメーターを保存し、それらをリダイレクト URL で渡します。このようにして、今後のすべての GET パラメータでこの問題を解決しました。

PHP を使用している場合、探している関数はhttp_build_queryです。Cookie を使用して 1 回限りの簡単にアクセスできる URL パラメーターを保存することはお勧めしません。

于 2013-02-21T06:58:30.397 に答える