Facebook返回给Javascript SDK的访问令牌能在服务器端与PHP SDK一起工作吗?
Can an access token returned by Facebook to the Javascript SDK work server-side with the PHP SDK?
我正在建立一个网站,利用Facebook连接。我用javascript SDK对用户客户端进行身份验证,并在每次用户登录时调用服务器上的AJAX方法,以检查用户是否已知我的应用程序,如果用户是新用户,则将其FBID存储在我的数据库中以将其注册为新用户。
我的问题是:可以访问令牌返回的Facebook Javascript SDK使用服务器端(以PHP SDK为例)?我可以通过AJAX调用将访问令牌字符串发送到服务器,将其存储在我的数据库中(以及时间戳,以便我知道它有效多长时间),然后使用它来调用图形API服务器端吗?这样做合乎逻辑吗?
是的,这应该可以工作。看看这个问题:如何正确处理会话和访问令牌与Facebook PHP SDK 3.0?
这是旧的JS和新的PHP SDK的解决方案。在我的应用程序中,我通过一个表单将JS SDK生成的访问令牌发送给我的PHP。我毫不怀疑,通过ajax发送访问令牌也是有效的!
使用Jquery:
//Set an error message
var oops = ("Put your something went wrong message here.");
//Function to post the data to the server
function save(uid, accessToken){
$.post("../foo/bar", { uid: uid, access_token: accessToken, etc, etc }, function(data){
alert("Successfully connected to Facebook.");
location.reload();
}, "text");
}
function handler(x){
if (x.authResponse){
var token = x.authResponse.accessToken;
var uid = x.authResponse.id;
FB.api("/me/accounts", {access_token: token},
function(response){
if(response.data.length == 0) {
//Regular facebook user with one account (profile)
save(uid, token);
}else{
//Handle multiple accounts (if you want access to pages, groups, etc)
}
});
}else{
alert(oops);
}
}
FB.login(handler, {scope: 'The list of permissions you are requesting goes here'});
相关文章:
- 转义符不能与innerHTML一起使用
- 包括用于facebook评论框的JavaScript SDK
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 在流星上使用微信js-sdk时出现拒绝权限错误
- 高亮显示与数组字符串一起使用时文本插件中断
- setTimeout可以与闭包内的函数一起使用吗
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- 如何在corona sdk中从CK编辑器中检索数据
- 如何将js库与typescript一起使用
- 将webpack和babel与父项目目录中的文件一起使用
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- FB.login访问令牌facebook javascript SDK
- 将 Drag&Drop 与 jsTree 和 DataTables 一起使用
- Javascript-如何让脚本与Ajax请求的数据一起运行
- NativeScript nativeescapet谷歌地图sdk不令人惊叹
- Adobe Air SDK在页面加载时调整窗口大小
- 如何将 Cognito 与生成的 Javascript SDK 一起使用
- 与网络工作者一起使用AWS SDK
- Facebook返回给Javascript SDK的访问令牌能在服务器端与PHP SDK一起工作吗?