我正在尝试编写一个网络应用程序,以便用户可以使用其Facebook帐户登录。该应用程序应允许用户使用按钮通过Facebook登录,登录后,他将重定向到我的应用程序,然后他将 接收电子邮件,用户标识和其他信息。要上传Facebook的SDK,我使用了jQuery(如官方文档中所述),并且编写了这几行代码以对所有内容进行星标测试
$(document).ready( function($scope) {
$.ajaxSetup({ cache: true });
$.getScript('https://connect.facebook.net/en_US/sdk.js', function(){
console.log("Facebook loaded; initializing sdk.");
FB.init({
appId : '/*app-id*',
autoLogAppEvents : true,
xfbml : true,
version : 'v3.3'
});
});
$('.fblogin').click(function() {
checkLoginState();
});
// callServer(/*'pyExecute',*/false);
});
function checkLoginState() {
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
}
但是,当我这样做时,我收到此错误“无法再从http页面调用FB.api方法”,但可以在控制台中看到我的名字。但是,如果我添加FB.checkLoginStatu,则会收到此错误“无法再从http页面调用FB.getLoginStatus方法”。我不知道是否需要测试https中的所有内容,是否可以在http中使用某种方法,或者是否需要在https中进行本地托管。我已经尝试在stackoverflow中查看并遵循一些指南,但是我仍然收到相同的错误