2012-01-20 308 views
0

我想在頁面選項卡應用程序中實現Facebook請求。我在這裏看到http://developers.facebook.com/docs/appsonfacebook/tutorial/的教程,但問題是,我想只有當有人訪問像Facebook應用程序請求

<a href = "something">Send to friends</a> 

如何任何想法才能做到這一點的鏈接,執行下面的代碼?謝謝!

$requests_url = "http://www.facebook.com/dialog/apprequests?app_id=" 
      . $app_id . "&redirect_uri=" . urlencode($the_url_of_the_tab_page) 
      . "&message=" . $message; 

    if (empty($_REQUEST["request_ids"])) { 
     echo("<script> top.location.href='" . $requests_url . "'</script>"); 
    } else { 
     echo "Request Ids: "; 
     print_r($_REQUEST["request_ids"]); 
    } 

回答

0

request dialog是你在找什麼:

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:fb="https://www.facebook.com/2008/fbml"> 
    <head> 
    <title>Request Tester C</title> 
    </head> 

    <body> 
    <div id="fb-root"></div> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <p> 
     <input type="button" 
     onclick="sendRequestToRecipients(); return false;" 
     value="Send Request to Users Directly" 
     /> 
     <input type="text" value="User ID" name="user_ids" /> 
     </p> 
    <p> 
    <input type="button" 
     onclick="sendRequestViaMultiFriendSelector(); return false;" 
     value="Send Request to Many Users with MFS" 
    /> 
    </p> 

    <script> 
     FB.init({ 
     appId : 'YOUR_APP_ID', 
     status : true, 
     cookie : true, 
     oauth: true 
     }); 

     function sendRequestToRecipients() { 
     var user_ids = document.getElementsByName("user_ids")[0].value; 
     FB.ui({method: 'apprequests', 
      message: 'My Great Request', 
      to: user_ids, 
     }, requestCallback); 
     } 

     function sendRequestViaMultiFriendSelector() { 
     FB.ui({method: 'apprequests', 
      message: 'My Great Request' 
     }, requestCallback); 
     } 

     function requestCallback(response) { 
     // Handle callback here 
     } 
    </script> 
    </body> 
</html> 

所以你的「鏈接」不應該叫真正的網址,而是一個JavaScript函數來打開請求對話框(在上面例如它將是sendRequestViaMultiFriendSelector())。

+0

我試過這樣,它會引發錯誤:API錯誤代碼:191 API錯誤描述:指定的URL不屬於應用程序 錯誤消息:redirect_uri不屬於應用程序。 雖然我不在上面的腳本中聲明任何新的url。 (沒有這個腳本我不知道;任何錯誤,任何提示?謝謝!) – dana

+0

@dana你是否已經將上例中的'appId'改爲你的?您的應用程序域設置爲您的應用程序設置中的什麼? – ifaour

+0

是的,現在它可以工作(對話框),但並不實際發送邀請:(我的意思是目標用戶沒有收到任何使用應用程序的通知 – dana

相關問題