2012-03-05 82 views
0

我使用Facebook的apprequests邀請朋友如下如何當用戶接受該請求得到USERID Facebook的apprequests

 function invitefriends() 
{ 
FB.init({ 
    appId:'XXXXXXX', cookie:true, 
    status:true, xfbml:true 
}); 

FB.ui({ method: 'apprequests', 
    message: 'Here is a new Requests dialog...'}); 

    } 
</script> 

但如何讓朋友id,一旦他接受我能夠得到下面的請求時,用戶接受要求 https://apps.facebook.com/XXXXXX/?request_ids=XXXXXXX&ref=notif&app_request_type=user_to_user&notif_t=app_request

從上面我可以從用戶ID獲得,但如何讓用戶標識誰接受請求

我試圖通過request_ids與REDIRECT_URI但是一旦用戶安裝的應用程序得到它消失編輯。

回答

1

看着Requests documentation,無論用戶何時使用您的應用發送請求,他們都會將post-send重定向到您的應用,附加到redirect_uri後附?request=REQUEST_ID&to=ARRAY_OF_USER_IDS

所以,一旦你應該設置你的重定向URI來捕獲請求ID和UID數組並存儲它以備後用。

然後,當誰收到請求的用戶接受它,他們會被引導到類似如下的URL:

https://apps.facebook.com/APPNAME/?request_ids=REQUEST_ID&ref=notif&app_request_type=user_to_user&notif_t=app_request

然後,您可以比較REQUEST_ID收到此請求ID您已經存儲,然後一旦用戶接受並放入您的應用程序,您將收到一個signed request,您可以解析它以檢索其用戶ID。

+0

感謝馬修,所以request_id對於所有用戶都是不同的? – samirprogrammer 2012-03-05 12:51:24

+0

這取決於發送用戶是否爲每個請求選擇多個好友。如果一個請求中有多個好友,那麼所有這些朋友的請求ID都是相同的,並且您需要signed_request來派生他們的UID。或者,您可以強制一個用戶一次只能選擇一個朋友的流程。 – 2012-03-05 12:54:06

+0

不,我不能強制,因爲我需要多個朋友選擇,所以我會得到相同的請求ID我怎麼能得到這個signed_request? – samirprogrammer 2012-03-05 12:58:50

相關問題