2014-09-19 22 views
0

我試圖讓我的一個應用程序使用JavaScript API擴展訪問令牌(我知道我應該做這個服務器端,但我'這是唯一一個使用這個應用程序,我有一些理由不這樣做服務器端這次)「無效的左側在分配」當從Facebook的API接收響應

無論如何,當我收到來自Facebook的回電,我得到一個無效的左側分配錯誤。

我沒有任何奇怪的如果是這樣或者類似的東西,它只發生在我從Facebook獲得迴應 - 所以它與我寫的代碼沒有關係,我不認爲。

無論如何,這是我正在運行的itty-bitty腳本。

var token = response.authResponse.accessToken; 

FB.api(
    '/oauth/access_token', 
    'GET', 
    { 
     'grant_type': 'fb_exchange_token', 
     'client_id': 'XXX', 
     'client_secret': 'XXX', 
     'fb_exchange_token': token 
    }, 
    function(response) { 
     console.log(response); 
    } 
); 

我的令牌變量設置正確,所以這不是問題。

如果我刪除數組中發送的任何數據,我會得到一個預期的錯誤響應,但通過這種方式設置,我只是得到了上述錯誤以及來自Facebook的這個響應。

Object {error: Object} 
error: Objectmessage: "unknown error" 
type: "http" 

所以我有點沉迷於此。

我會做什麼錯?

+0

這是實際的代碼嗎? – epascarello 2014-09-19 13:41:23

+0

是的,就是這樣,減去我的應用程序ID和祕密。 – 2014-09-19 13:47:17

+0

我從登錄請求中獲取我的令牌,這很好,但是當我將它傳遞給此函數時,那是當我收到錯誤。 – 2014-09-19 13:48:22

回答

0

這就是我最終的結果。

不理想,因爲它不使用Faceook SDK,但它的工作原理。

$.get('https://graph.facebook.com/oauth/access_token', { 
    'grant_type': 'fb_exchange_token', 
    'client_id': 'XXX', 
    'client_secret': 'XXX', 
    'fb_exchange_token': token 
}).done(function(data) { 
    var response = data.split('&'); 
    var result = {}; 

    for (i=0;i<response.length;i++) { 
     var this_one = response[i].split("="); 
     result[this_one[0]] = this_one[1]; 
    } 

    console.log(result); 

}); 

這最終得到一個具有令牌和過期時間的對象。

相關問題