在使用Facebook Javascript SDK提交表单之前要求用户进行身份验证

时间:2012-04-02 15:25:44

标签: facebook facebook-javascript-sdk

我正在开发一个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,'});
                }
            });
        });

1 个答案:

答案 0 :(得分:1)

简要回答,

您需要确认FB.getLoginStatus以确定用户是否已对您的应用进行了分页

http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

然后要么向FB.login询问,要么成功提交表格,或者如果他们已经过提交表格

http://developers.facebook.com/docs/reference/javascript/FB.login/