2015-10-06 35 views
-1

我已經創建了一個頁面選項卡應用程序,我已經在應用程序設置中爲Auth對話框設置了所有參數。現在,當我通過我的應用發送好友請求,並且我的好友點擊應用請求時,他能夠看到描述應用的驗證框和請求的權限等,但是如果有人訪問我添加了應用的頁面,並從那裏點擊應用程序,它直接將用戶轉到頁面選項卡,而不顯示授權框。這是應該如何從一個頁面上工作?是否可以顯示從頁面進入應用程序的用戶的身份驗證框?多朋友選擇器和遊戲請求

其次,我添加了一個多重朋友選擇器,它默認在彈出窗口中打開,就像它應該的那樣。是否有可能在頁面中顯示它而不是彈出窗口?我試着添加顯示器:「頁面」選項,但沒有奏效。

+0

您需要發佈一些與問題相關的代碼。 –

+0

歡迎來到[SO]!我們可以幫助您以正確的方式使應用程序正常工作,但我們確實需要在問題中查看應用程序的一些代碼。使用[編輯]按鈕更新問題。 –

+0

您在應用程序儀表板中指定的權限適用於人們通過應用程序中心_only_訪問您的應用程序。在頁面選項卡應用程序中,您必須通過調用登錄對話框自己處理登錄。 – CBroe

回答

0
<body> 
<div id="fb-root"></div> 


<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> 
window.fbAsyncInit = function() { 
    FB.init({ 
    appId  : 1034384439928502, 
    status  : true, 
    cookie  : true, 
    xfbml  : true, 
    oauth  : true, 
    }); 
}; 
(function(d){ 
    var js, id = 'facebook-jssdk'; 
    if (d.getElementById(id)) { 
     return; 
     } 
    js = d.createElement('script'); 
    js.id = id; 
    js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    d.getElementsByTagName('head')[0].appendChild(js); 
}(document)); 
</script> 

<script> 
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> 
...