我正在开发一个Facebook页面标签应用,用户将使用HTML5画布在页面上绘图。当用户提交他们的绘图(基本上是表单)时,我需要检查用户是否已授予我的应用程序必要的权限。如果没有,请在提交表单之前弹出Facebook对话框,要求用户使用我的应用进行身份验证。用户通过身份验证后(或者如果已经过身份验证),请提交表单。
简而言之,只有当用户使用Facebook Javascript SDK对我的应用进行身份验证时,如何才能提交表单?
更新:
根据Shaun的建议,我能够使用FB.getLoginStatus和FB.Login来解决这个问题。这是一个例子:
$('#submit').on('click', function() {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// User authenticated, submit the form
} else if (response.status === 'not_authorized') {
// the user is logged in to Facebook,
// but has not authenticated your app
FB.login(function(response) {
// handle the response
}, {scope: 'email,'});
} else {
// the user isn't logged in to Facebook.
FB.login(function(response) {
// handle the response
}, {scope: 'email,'});
}
});
});
答案 0 :(得分:1)
简要回答,
您需要确认FB.getLoginStatus以确定用户是否已对您的应用进行了分页
http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/
然后要么向FB.login询问,要么成功提交表格,或者如果他们已经过提交表格
http://developers.facebook.com/docs/reference/javascript/FB.login/