Facebook应用程序请求:如何确定谁邀请谁?

问题描述:

我们即将构建一个将在XFBML IFrame中运行的Facebook应用程序。我们已经找到了很好的tutorial(作者的荣誉)。现在,还有一个问题需要处理。Facebook应用程序请求:如何确定谁邀请谁?

基本上,我们只是想知道如何确定邀请朋友加入应用程序的人的UID。举例来说,用户A邀请用户B加入Cool-App。用户B看到应用请求,并通过接受邀请进行响应。现在的问题是,我们如何知道用户B是由用户A引用的?

请帮忙。

使用FBML request-form标签时,可以将受邀用户作为POST变种检索。
PHP例子:

if(isset($_POST["ids"])) { 
    echo "<center>Thank you for inviting ".sizeof($_POST["ids"])." of your friends on <b><a href=\"http://apps.facebook.com/".$app_url."/\">".$app_name."</a></b>.<br><br>\n"; 
    echo "<h2><a href=\"http://apps.facebook.com/".$app_url."/\">Click here to return to ".$app_name."</a>.</h2></center>"; 
} 

没有办法,我知道的,以找出是否被邀请的用户实际接受了这个特殊的邀请。 (f.e.如果他也得到用户C的请求怎么办?)

+0

这实际上在推荐过程中发挥作用。您可以使用它来存储此用户邀请的朋友的ID,并稍后使用它来验证是谁转介了注册人。在你的应用程序中这样做。 – MkVal 2010-11-23 13:18:09

好吧,幸运的是,我们找到了最接近可能的答案。

FBML有fb:req-choice我们通常在fb:request-form中使用的标签。也可以嵌入后者的Content属性中。

它看起来像这样:

<fb:req-choice url="URL_HERE" label="BUTTON_TEXT_HERE"/> 

..where URL_HERE是您的应用程序基础URL加上像这样的地方的相对路径:

http://apps.facebook.com/my_cool_app/path/to/somewhere 

如:

http://apps.facebook.com/my_cool_app/users/invite/referred-by/1234567890 

这实际上是用户“接受”或“确认”的按钮。触发时,FB重定向到您提供的链接。

就是这样。其余的由你的申请决定。

+0

从来没有考虑过这一点。非常好的方法! – 2010-11-25 12:11:49