2012-01-20 4 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> 

Так что ваша «ссылка» не должны называть реальный URL, но вместо функции Javascript, чтобы открыть запрос Dialog (в приведенном выше Например, это будет sendRequestViaMultiFriendSelector()).

+0

Я пробовал вот так, и это меня порождает ошибку: API Код ошибки: 191 API Ошибка Описание: Указанный URL не принадлежит приложению Сообщение об ошибке: redirect_uri не принадлежит приложению. хотя я не объявляю ни одного нового URL-адреса в приведенном выше скрипте. (и без этих сценариев я не знаю никаких ошибок. любые подсказки? спасибо!) – dana

+0

@dana изменили ли вы 'appId' в приведенном выше примере на ваш? также, что ваш домен приложения установлен в настройках вашего приложения? – ifaour

+0

Да, теперь он работает (диалог), но не на самом деле посылает приглашения :(. Я имею в виду, что целевой пользователь не получает никаких уведомлений об использовании приложения. – dana

Смежные вопросы