Facebook应用程序请求

问题描述:

我想在页面选项卡应用程序中实现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"]); 
    } 

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