2012-01-18 12 views
0

新しいFacebook要求オブジェクトでは、1つのIDのみが与えられます。通知要求を受け入れるユーザーを特定する方法

ユーザーが複数の友だちファインダーを使用して多数の友だちを招待する場合、1つのリクエストIDのみが与えられます。

招待されたユーザーが自分のFacebookページに移動し、要求を受け入れると、同じ要求IDが使用されます。

今、招待されたすべてのユーザーが同じリクエストIDを持っているため、このユーザーが誰なのかわかりません。

ユーザーのIDにアクセスするにはどうすればよいですか?

アップデート:私は、私は自分のアプリケーションを承認するようユーザーに依頼する必要があることを理解

。ユーザが既に自分のアプリケーションを許可している場合、私は決定するために、次のコードを持っている:

FB.init 
      (
       { 
        appId : "<%=APPLICATION_ID%>", 
        status : true, 
        cookie : true, 
        oauth : true 
       } 
     ); 

      FB.getLoginStatus(function(response) { 
      if (response.status === 'connected') { 
      // the user is logged in and connected to your 
      // app, and response.authResponse supplies 
      // the user's ID, a valid access token, a signed 
      // request, and the time the access token 
      // and signed request each expire 
     alert('connected'); 
      var uid = response.authResponse.userID; 
      var accessToken = response.authResponse.accessToken; 
     alert(uid) 
      } else if (response.status === 'not_authorized') { 
      alert('notconnected'); 
      // the user is logged in to Facebook, 
      //but not connected to the app 
     **//here need to get authorization for the application** 
      } 
     }); 

は、どのように私はFacebookの中に出てくるために、認証ダイアログボックスを得るのですか?

答えて

1

あなたのアプリケーションに接続するように彼に依頼する必要があります。

ユーザーは「日を受け入れたら、あなたはしかし

ところで、要求はもはや削除されます...リクエストが送られたすべてのユーザーを知っているアプリケーションaccess_tokenを使用して要求自体についての情報を得ることができますので、あなたはなるだろう承認後にユーザーが持っているすべての要求を引き出し、それらの要求を削除することができます。

更新:
あなたが一度通過したrequest_idを使用してアプリケーションに上陸し、彼はあなたのアプリケーションを承認要求することにより、ユーザIDを取得することができ、これは(詳細はauthentication guideを参照)JS-SDKOAuth DialogまたはFB.loginメソッドを使用して行うことができます。 BUG #202883726463009にFacebookの職員で述べたように

開発者は、未処理の要求をクリアする必要がある場合は、要求を送信する際に、JavaScriptのコールバックやグラフAPIで返された、彼らは、彼らが受け取るUIDを使用することができます応答。それ以外の場合、リクエストは自動的にタイムアウトし、自動的にクリアされます。

+0

リクエストが送信されたユーザーのデータを保存しました。しかし、ユーザーがリクエスト通知をクリックすると、FB IDなしのリクエストIDのみが取得されます。 Facebookがユーザーごとに異なるリクエストIDを生成する前。 NOWの1つのリクエストIDは、誰がリクエスト通知をクリックしたかを識別できるようにする必要があります。 – chell

+0

私が言ったように、**あなたはあなたのアプリに接続するように彼に依頼する必要があります**。私の更新された答えを参照してください... –

+0

それはまさに私がやったことです。 Juicy Scripterに感謝します。ニースの名前はbtw。 – chell

関連する問題