2012-11-21 2 views
5

Imは使用して、私の友人のリストを表示し、FacebookのWebアプリケーションでこれを招待するFacebookの要求]ダイアログボックスを使用してアプリで入力したときに通知IDを取得どのようにこの:ユーザーはあなたが

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

    function requestCallback(data) { 

     console.log(data); 
} 

それは、[OK]を、動作しますが、私はあなたのAPPに入力するときにユーザーを特定する必要があります.yはrequestCallbackデータを参照して "要求"を見ますが、ユーザーが通知をクリックしてAPPに入力すると、ユーザーが通知によるアクセス。

編集:OK GET変数のparamは "request_ids"ですが、問題が1つ表示されますが、このパラメータはユーザーが以前にアクセス許可を受けている場合にのみ発生します。パーミッション、および入力する場合、このパラメータは存在します。ユーザーがこのパラメータをURLに再度入力すると(何も必要ない)、このパラメータが存在します。

初めてこのパラメータを取得する方法はありますか?

可能でしょうか?ユーザーが最初の要求をクリックすると、あなたはURLからREQUEST_IDを取得し、クッキーに保存しなければならない

おかげ

+0

"解決策"が見つかりました: $ requestUri =(!_ REQUEST ['request_ids']))? TAB_URL。 '?request_ids =' $ _REQUEST ['request_ids']:TAB_URL; \t \t $ loginUrl = $ facebook-> getLoginUrl(array( 'scope' => APP_SCOPE、 'redirect_uri' => $ requestUri)); echo ' '; – Zenth

+0

解決策が見つかった場合は、返信することができます。あなたの質問のいくつかが解決されない場合は、詳細を教えてください。 –

答えて

0

。ユーザーがログインを完了したら、Cookieが存在するかどうかを確認し、それに従ってレコードを更新します。

0

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

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

PHPを使用している場合、探している機能はhttp_build_queryです。一度にアクセス可能なURLパラメータを保存するためにクッキーを使用することを強くお勧めします。

関連する問題