使用facebook请求对话框

1 facebook

我正在使用请求对话框向我的朋友发送应用程序请求.

现在,我想通过URL嵌入我的ID,所以当他点击邀请时,必须
将他带到我的应用程序,并且应该在浏览器的地址栏中获得这样的链接:apps.facebook.com/test?uid=1111111111

这个uid是我的uid,因为我把邀请发送给了我的朋友.

这该怎么做? 更新于21/10/2011

<script>
  FB.init({
    appId  : 'YOUR_APP_ID',
    status : true,
    cookie : true,
    oauth: true
  });


  function sendRequestToManyRecipients() {
    FB.ui({method: 'apprequests',
      message: 'My Great Request',
    }, requestCallback);
  }

  function requestCallback(response) {
    // Handle callback here
  }
  function getMultipleRequests(requestIds) {
  FB.api('', {"ids": requestIds }, function(response) {
  console.log(response);
});
}
</script>
Run Code Online (Sandbox Code Playgroud)

Hoà*_*ong 5

在" 请求对话框 "属性中data,可以使用可用于嵌入唯一标识符的属性.

当用户单击邀请通知时,request_ids将返回一个(或多个,如果有多个朋友邀请hime).然后,您可以使用request_ids进行查询data.

更新:提出data请求:

 FB.ui({method: 'apprequests',
      message: 'My Great Request',
      data: 'hello'
    }, requestCallback);
Run Code Online (Sandbox Code Playgroud)

UPDATE2

FB邀请有几个步骤:

1)此功能打开一个对话框,供用户(例如,用户A)选择要邀请的朋友:

 FB.ui({method: 'apprequests',
      message: 'My Great Request',
      data: 'hello'
    }, requestCallback);
Run Code Online (Sandbox Code Playgroud)

2)用户A邀请朋友后说,用户B.用户B将收到关于他的新闻提要的通知.

3)用户B点击进入通知,并被重定向到画布页面:apps.facebook.com/test?request_ids = XXXXXX

4)您可以使用request_idsjavascript来检索邀请详细信息

function getMultipleRequests(requestIds) {
  FB.api('', {"ids": requestIds }, function(response) {
  console.log(response);
});
}
Run Code Online (Sandbox Code Playgroud)

或者通过服务器代码(这里是php,但是其他语言的机制相同):

//get the request ids from the query parameter
   $request_ids = explode(',', $_REQUEST['request_ids']);

   //build the full_request_id from request_id and user_id 
   function build_full_request_id($request_id, $user_id) {
      return $request_id . '_' . $user_id; 
   }

   //for each request_id, build the full_request_id and delete request  
   foreach ($request_ids as $request_id)
   {
      echo ("reqeust_id=".$request_id."<br>");
      $full_request_id = build_full_request_id($request_id, $user_id);  
      echo ("full_request_id=".$full_request_id."<br>");

      try {
         $delete_success = $facebook->api("/$full_request_id",'DELETE');
         if ($delete_success) {
            echo "Successfully deleted " . $full_request_id;}
         else {
           echo "Delete failed".$full_request_id;}
        }          
      catch (FacebookApiException $e) {
      echo "error";}
    }
Run Code Online (Sandbox Code Playgroud)