我们将构建一个在 XFBML IFrame 中运行的 Facebook 应用程序。我们已经找到了一个很好的教程(感谢作者)。现在,还有一个问题我们需要处理。
基本上,我们只是想知道如何确定邀请朋友加入应用程序的人的 UID。例如,用户 A 邀请用户 B 加入酷应用。用户 B 看到应用程序请求,并通过接受邀请来响应。现在的问题是,我们如何知道用户 B 是由用户 A 推荐的?
请帮忙。
好吧,幸运的是我们找到了最接近的答案。
FBML 有我们通常在 fb:request-form 中使用的 fb:req-choice标签。也可以嵌入到后者的Content属性中。
它看起来像这样:
<fb:req-choice url="URL_HERE" label="BUTTON_TEXT_HERE"/>
..其中 URL_HERE 是您的 application-base-url 加上到某处的相对路径,如下所示:
http://apps.facebook.com/my_cool_app/path/to/somewhere
例如:
http://apps.facebook.com/my_cool_app/users/invite/referred-by/1234567890
这实际上是用户“接受”或“确认”的按钮。触发后,FB 会重定向到您提供的链接。
而已。其余的取决于您的应用程序。
使用FBML request-form标签时,您可以将受邀用户检索为 POST var。
例子:
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>";
}
我无法确定受邀用户是否真的接受了这个特定的邀请。(fe 如果他也收到用户 C 的请求怎么办?)