2011-09-05 81 views
1

好的,所以這讓我感到瘋狂。一直在嘗試使用jquery爲我的應用程序獲取訪問令牌。當我有訪問令牌everyting正常工作。我可以檢索朋友列表等。如果我從我的請求中嗅探URL並將其粘貼到瀏覽器中,它會按預期方式執行(向我提供訪問令牌並將其重定向到我的頁面)。Facebook Graph API通過JQuery獲取訪問令牌(客戶端方式)

但是...使用下面的函數會導致「未調用jQuery15105307047630302168_1315247312743」,或者如果我在「無傳輸」錯誤消息中將dataType更改爲「JSON」。我一直在閱讀一些帖子,似乎沒有什麼可以做的。

一些建議添加?回調?和一個參數是回調函數本身,但是這給了我完全相同的錯誤。下面是我打電話來獲取訪問令牌的功能。

function GetAccessTokenClient() { 

var redirURL = "http://banana.ihedge.dk/bet/"; 
var scope = "user_online_presence"; // user_photos, email, user_birthday, user_online_presence 
var clientID = "105719222863801"; 

try { 
    $.ajax({ 
     type: "GET", 
     url: "https://www.facebook.com/dialog/oauth", //"https://graph.facebook.com/oauth/authorize", 
     cache: false,, 
     dataType: 'JSONP', 
     data: "client_id=" + clientID + "&redirect_uri=" + redirURL + "&reponse_type=token", 
     error: function(xhr, status, error) { 
      alert(error); 
     }, 
     success: function(response) { 
      for (key in repsonse) 
       alert(key); 
     }, 
     complete: function(request, textStatus) { 
      //alert('RESPONSETEXT: ' + request.responseText); 
      //alert('COMPLETE: ' + textStatus); 
     } 
    }); 
} 
catch (Error) { 
    alert(Error); 
} 
} 

請幫忙。

回答

2

問題在於嘗試使用ajax獲得https://www.facebook.com/dialog/oauth,它不是爲那個害怕而設計的。

,以獲得用戶訪問令牌使用javascript/jQuery的最簡單的方法是使用的FB.login

FB.login(function(response) { 
    if (response.authResponse) { 
     var accessToken = response.authResponse.accessToken; 
    } 
}); 
+0

喬特是完全正確的。有關該主題的正式聲明請見https://developers.facebook.com/docs/authentication/access-token-expiration/ –

相關問題