2011-11-04 43 views
1

看來FB.ui方法='oauth'已停止調用生產站點上的回調函數。下面是我們的代碼:Facebook oauth對話框不調用回調函數

FB.ui(
     { 
      method: 'oauth', 
      client_id: '[outClienID]', 
      redirect_uri: '[validRedirect_uri]', 
      scope:'email, publish_stream', 
      response_type: 'token', 
      display: 'popup' 
     }, 
     function(response) { 
      FB.getLoginStatus(checkFBConnect, true); 
     }) 

我試圖用一個簡單的警報替換FB.getLoginStatus,它永遠不會被調用。當我調用FB.getLoginStatus(checkFBConnect,true);手動從調試控制檯,該過程都按預期工作。這就像我們的功能(響應)永遠不會被Facebook調用。

回答

0

離開* REDIRECT_URI *和* RESPONSE_TYPE *參數出來解決這個帆布/網頁應用:

 FB.ui({method: 'oauth', 
     client_id: fb_app_id, 
     state: new Date().getTime().toString(), 
     /* 
     redirect_uri: location.protocol + '//' + location.host + '/' + app_folder + '/oauth', 
     response_type: 'token', 
     */ 
     scope: 'email,publish_actions' 
    }, callback); 

在另一方面,如果你的應用並不意味着在畫布/頁運行,那麼確實您的回調函數不會再被調用,但您可以直接在* redirect_uri *回調頁面中處理oauth令牌。

相關問題