如何在我的asp.net4.0 Web应用程序中获取facebook的id邀请用户的朋友

时间:2011-12-26 05:28:39

标签: facebook asp.net-4.0


                我正在开发一个ASP.NET应用程序。我在我的应用程序中实现了Facebook JavaScript API,用于连接Facebook并获得用户的FB好友列表。我成功地做到了这一点。 现在,我想计算用户邀请了多少朋友。是否可以使用facebook API。用户可以选择多个朋友,我想要计算用户选择和邀请的朋友数量,如果我们能得到,邀请的朋友ID是奖金。 请不要忘记,出于安全原因,facebook更改了其Oauth设置。 我也试图在点击发送邀请按钮并将页面回发到

后获取ID值
if (Request.Form["ids"] != null)
        {
            span1.InnerHtml = "ids";
//put success code here..
        }
        else
        {
            span1.InnerHtml = "oops no id";
        }
      if (Page.PreviousPage != null)
{
span1.InnerHtml = "ids";
//put success code here..
}
else
{
span1.InnerHtml = "oops no id";
}


但是在这种情况下程序控制总是转到else条件,这意味着在页面回发后返回null值。 有没有办法让受邀朋友的ids。 感谢。

2 个答案:

答案 0 :(得分:1)

如果你使用Facebook请求发送邀请(你真的应该,这是为了这个),获得邀请朋友的唯一方法是通过Facebook Requests Dialog回调:

FB.ui({method: 'apprequests', message: 'Whoa!'}, callback);

function callback(response){
  // response.to now contain array of invited users ids
  console.log('Invited friends ids', response.to);
  if (response.request) {
    console.log('Efficient Request id', response.request);
  } else {
    console.log('Requests Ids', response.request_ids);
  }
}

无法通过Graph API或FQL获取用户发送的请求,您只能获得用户收到的请求。您可以保存用户发送的所有请求,如果您需要汇总发送的邀请数,则可以依赖此数据...

答案 1 :(得分:0)

好的,最后我解决了这个问题,并邀请朋友ids .. 我们知道我们使用javascript sdk进行FB连接,所以我的解决方案是关注Java脚本:

只需在你的.js文件中进行更改即可将你的facebook连接javascript代码。在fb:request-form标签中使用Get或Request Method而不是Post Method <script type="text/javascript> var fbhtml = "<fb:serverFbml width=\"" + width_of_invitation_div + "\"> <script type=\"text/fbml\"><fb:fbml><fb:request-form action=" + window.location + " method="REQUEST" invite="true" type="" + type_of_fb_request_form + "" hold=" /><br mode="></fb:request-form></fb:fbml></script></fb:serverfbml>" </script>

邀请发送给用户选定的朋友后,你会在网址中获得ids []。 您可以通过查询字符串获取这些ID,并通过逗号(,)拆分ID并存储在数组中 希望这对其他开发者有所帮助。