1

对于我的 Facebook Connect 应用程序的邀请功能,我需要能够判断用户响应了哪个邀请。为此,我决定依赖 Facebook UID。如何在 Facebook 为 fb:req-choice 生成的 url 中包含该 ID?

<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 端填写。那可能吗?

4

1 回答 1

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>

这样,您可以跟踪邀请,但只能在用户在该操作中邀请的那批朋友中。

于 2010-02-28T02:24:22.690 回答