2010-11-15 147 views
1

我們即將構建一個將在XFBML IFrame中運行的Facebook應用程序。我們已經找到了很好的tutorial(作者的榮譽)。現在,還有一個問題需要處理。Facebook應用程序請求:如何確定誰邀請誰?

基本上,我們只是想知道如何確定邀請朋友加入應用程序的人的UID。舉例來說,用戶A邀請用戶B加入Cool-App。用戶B看到應用請求,並通過接受邀請進行響應。現在的問題是,我們如何知道用戶B是由用戶A引用的?

請幫忙。

回答

1

使用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

2

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

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