我正在开发一个ASP.NET应用程序。我在我的应用程序中实现了Facebook JavaScript API,用于连接Facebook并获得用户的FB好友列表。我成功地做到了这一点。
现在,我想计算用户邀请了多少朋友。是否可以使用facebook API。用户可以选择多个朋友,我想要计算用户选择和邀请的朋友数量,如果我们能得到,邀请的朋友ID是奖金。
请不要忘记,出于安全原因,facebook更改了其Oauth设置。
我也试图在点击发送邀请按钮并将页面回发到
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。
感谢。
答案 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并存储在数组中 希望这对其他开发者有所帮助。