如何通过Facebook API为长期存在的令牌交换代码?

时间:2017-07-27 04:49:30

标签: ruby-on-rails facebook api reactjs facebook-graph-api

我的应用程序是带有rails后端的反应前端。我们使用Alt JS进行助焊剂。我按照here的说明从Facebook为每个使用该应用程序的客户端获取一个长期访问令牌。一切正常,直到最后一步 - 将后端检索到的代码交换为客户端特定的长期访问令牌。我在这里提出要求:

getLongLivedToken: {
  remote(store) {
    return axios({
      method: 'get',
      url: `https://graph.facebook.com/oauth/access_token?code=${store.fbTokenCode}&client_id=${store.clientId}&redirect_uri=http://localhost:3000`
    })
    .then(function(response){
      return response
    })
  },
  success: FacebookActions.receivedLongLivedToken,
  error: FacebookActions.longLivedTokenFailed
}

尝试API调用时,我得到XMLHttpRequest cannot load https://graph.facebook.com/oauth/access_token?code=xxxxxxxxxx&client_id=xxxxxxxxx&redirect_uri=http://localhost:3000. Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response

我尝试在我的浏览器中导航到网址并确实返回了令牌。它只是通过应用程序赢得了工作。对同一个api的其他调用工作正常。

感谢您的帮助。

0 个答案:

没有答案