2014-09-19 23 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); 

}); 

这最终得到一个具有令牌和过期时间的对象。

相关问题