2011-09-05 151 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/ –

相关问题