fb:req-choice url中的变量插值

时间:2009-09-24 16:56:45

标签: facebook fbml invitation

对于我的Facebook Connect应用程序的邀请功能,我需要能够告诉用户响应的邀请。我决定依靠Facebook UID。如何在Facebook为fb生成的网址中包含该ID:req-choice?

<fb:request-form action="#{@post_url}"
                method="POST"
                invite="true"
                type="my_app"
                content="<fb:name uid='#{current_user.facebook_uid}' useyou='false' /> wants to invite you to to my_app. To join him simple click 'Accept' below.<fb:req-choice url='http://my_app.com/invitation/?fb_uid={uid}' label='Accept' />">
   <fb:multi-friend-selector
              showborder="false"
              actiontext="Invite your Facebook Friends to shop on Yumshare" />
</fb:request-form>

注意fb:req-choice的url属性中的{uid}。这应该是被邀请的用户的uid,因此需要在Facebook方面填写。这可能吗?

1 个答案:

答案 0 :(得分:1)

我使用的解决方案并不完全等同于上述解决方案,但足够接近。

当加载包含fb:req-choice表单的页面时,生成一个唯一的标记,当然必须在该点保留,并将其粘贴到接受URL中。像这样:

<fb:request-form action="#{@post_url}"
                method="POST"
                invite="true"
                type="my_app"
                content="<fb:name uid='#{current_user.facebook_uid}' useyou='false' /> wants to invite you to to my_app. To join him simple click 'Accept' below.<fb:req-choice url='http://my_app.com/invitation/?token=#{@token}' label='Accept' />">
   <fb:multi-friend-selector
              showborder="false"
              actiontext="Invite your Facebook Friends to shop on Yumshare" />
</fb:request-form>

通过这种方式,您可以跟踪邀请,但仅限于用户在该操作中邀请的一批朋友。