如何识别接受通知请求的用户

时间:2012-01-18 05:10:10

标签: facebook request

使用新的Facebook请求对象时,只会给出一个ID。

如果用户邀请许多朋友使用Multi Friend Finder,则只会给出一个请求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 个答案:

答案 0 :(得分:1)

你应该让他联系你的申请。

然而,您可以使用应用程序access_token获取有关请求本身的信息,以了解所有用户请求已发送给...

顺便说一句,一旦用户接受请求,就不再删除请求,这样您就可以在授权后提取用户拥有的所有请求并删除这些请求。

<强>更新
您可以通过在request_id通过已落实到您的应用程序后让他授权您的应用程序来获取用户身份,这可以使用OAuth DialogFB.loginJS-SDK方法完成(请参阅{ {3}}了解更多详情。)

正如Facebook官员在authentication guide所述:

  

如果开发人员需要清除未完成的请求,他们可以使用他们在发送请求时收到的UID,如JavaScript回调或Graph API响应中所返回的。否则,请求将自然超时并自动清除。