我的应用程序是带有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的其他调用工作正常。
感谢您的帮助。