1

我該如何尋求facebook權限?如何在Chrome中詢問publish_stream權限

Chrome封鎖彈出,並拋出使用的FB.login

function askPermission() { 
    FB.login(function(response) { 
     if(response.authResponse) { 
      // Do what I want to do 
     } 
    }, {scope:'publish_stream'}); 
} 

當很多警告的所以不是,我想這從How to set permission dialog for post message on wall

function askPermission(appid, redirect_uri, response_type, scope, callback) { 
    // Redirect the user back after authorization 
    var path = 'https://www.facebook.com/dialog/oauth?'; 
    var queryParams = ['client_id='+appid, 'redirect_uri='+encodeURI(redirect_uri), 'response_type='+response_type, 'scope='+scope]; 
    var query = queryParams.join('&'); 
    var url = path + query; 
    top.location.href = url; 
} 

,但它並沒有正常工作好。我收到了一條錯誤消息,如

「YourApp發生了錯誤,請稍後再試。」

編輯: Chrome仍然會扔了很多「不安全的JavaScript嘗試與URL訪問框架」甚至當我嘗試過:

<input type="button" value="Convidar amigos" class="verde" onclick="FB.login(function(response){ if(response.authResponse){post();} }, {scope:'email,publish_stream'});"/> 

回答

0

你應該只調用用戶交互FB.login(點擊,提交等)或者它會在大多數瀏覽器中被阻止。您看到的錯誤是因爲JS-SDK無法與被阻止的窗口交互。

+0

我發現爲什麼使用重定向方法不起作用。 uri必須是絕對的。 我沒有將http://添加到我傳遞給參數redirect_uri的URI值: 'function askPermission(appid,redirect_uri,response_type,scope,callback)' 我沒有收到錯誤描述因爲我用來測試的用戶不是應用程序開發人員。 愚蠢的錯誤。 – iw123w 2011-12-28 14:29:05

相關問題