2012-11-21 27 views
5

林facebook的請求對話框顯示我的好友列表,並邀請這在一個網站的Web應用程序,使用如何得到通知ID這樣的:當用戶進入你應用程序中使用

function sendRequestViaMultiFriendSelector() { 
     FB.ui(
     { 
      method: 'apprequests', 
      message: 'Selección de amigos a los que invitar a KugaBar' 
     }, requestCallback); 
    } 

    function requestCallback(data) { 

     console.log(data); 
} 

它的工作原理,確定,但我需要在進入我的APP時識別用戶,y看到requestCallback數據並看到「請求」,但是當用戶單擊通知並輸入APP時,我不知道如何識別請求以檢測用戶是否接受通知。

編輯:好的我發現它,GET變量中的參數是「request_ids」,但有一個問題出現,這個參數只有當用戶以前已經獲得了權限,如果用戶clik通知,接受權限和輸入,這個參數劑量是存在的,如果用戶再次輸入(不需要接受任何內容),則該參數存在於URL中。

有沒有辦法在用戶第一次輸入時得到這個參數?

有可能嗎?

感謝

+0

找到「解決方案」: $ requestUri =(!empty($ _REQUEST ['request_ids']))? TAB_URL。 '?request_ids ='。 $ _REQUEST ['request_ids']:TAB_URL; $ loginUrl = $ facebook-> getLoginUrl(array('scope'=> APP_SCOPE,'redirect_uri'=> $ requestUri));}};}};}}; echo''; – Zenth

+0

如果您找到解決方案,您可以發佈答案。如果你的一些問題沒有解決,請詳細說明一下? –

回答

0

當用戶第一次點擊的請求,你應該從URL中REQUEST_ID並將其存儲在cookie中。當用戶完成登錄時,檢查cookie是否存在,然後相應地更新您的記錄。

0

通知請求在Facebook上是不一樣的。在你的情況下,你正在談論請求。請求id作爲GET參數'request_ids'傳遞給應用程序,這是一個逗號分隔的列表。

爲了能夠在登錄對話框後訪問此參數,您希望在重定向到OAuth對話框之前將原始啓動URL中的GET參數保存並在重定向URL中傳遞它們。這樣你解決了所有未來GET參數的這個問題。

如果您使用PHP,您正在尋找的功能是http_build_query。我非常不喜歡使用cookie來存儲一次性且易於訪問的URL參數。

相關問題