我有一个 iframe Facebook 应用程序(使用 Facebook 的新 JavaScript API),它需要允许用户在参加比赛后邀请他们的朋友加入该应用程序。我在页面上的 div 中有以下标记(应用程序名称和 Canvas Url 已编辑):
<fb:serverFbml>
<fb:request-form
method="POST"
invite="true"
type="{Name of My Application}"
content='Your text goes here. %3Cfb%3Areq-choice%20url%3D%{a url-encoded link to my Canvas URL}"/>'
label="Authorize My Application">
<fb:multi-friend-selector showborder="false" actiontext="Invite your friends to use My Application.">
</fb:multi-friend-selector>
</fb:request-form>
</fb:serverFbml>
据我了解,如果您需要在 XFBML/iframe 应用程序中使用 FBML 标签,您只需将它们放入 fb:serverFbml 元素中,Facebook 会处理它。果然,我的第一印象似乎是错误的。我没有放弃表格,而是得到一个空的白色盒子,fbml 似乎没有受到影响。
这个应用程序的设计假设(可能是错误的)我不需要对用户进行身份验证来让他们邀请他们的朋友。有没有办法做到这一点,还是我需要要求他们先登录?Facebook 的文档(当然)对此含糊其辞。
编辑:我的 FB.init() 按要求:
$("body").prepend("<div id=\"fb-root\"></div>");
FB.init({
apiKey: "{My apiKey is here}",
appId: "{My appId is here}",
status: true,
cookie: true,
xfbml: true
});