私は問題がありますFacebook SDK javascript v2.9でログアウトするには、AngularJSアプリケーションを実行して、HTMLでAPIを読み込み、Facebook APIをコントローラに実装します。Facebook API javascript FB.logout 'X-Frame-Options'を 'deny'に設定したため、フレームに 'https://www.facebook.com/home.php'を表示することを拒否しました
私はonclickのアクションでFB.logout()を行うと、私は次のエラーを取得する:「拒否「に」X-フレーム・オプションを「が設定されているため、フレームに」
」を表示するために拒否
HTMLコード
<div class="top-content">
<!--content-->
<fb:login-button class="btn-login" scope="public_profile,email"
onlogin="doFbLogin();" data-button-type="continue_with" data-
auto-logout-link="false" data-use-continue-as="true" data-
size="large">
</fb:login-button>
<button onclick="FB.logout()" class="btn">Logout</button>
</div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'API-KEY',
autoLogAppEvents : true,
status : true,
xfbml : true,
version : 'v2.9'
});
FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/es_ES/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
AngularJSコントローラコード
appController.controller('LoginCtrl', ['$scope','$window','$location','$http','sendLoginParams','checkCreds', 'setCreds','setUserSession',
function LoginCtrl($scope, $window,$location,$http, sendLoginParams, checkCreds, setCreds, setUserSession){
$scope.loggin = true;
$window.doFbLogin = function(){
var fb_token;
function checkLoginState() {
$window.FB.getLoginStatus(function(response) {
fb_token = response.authResponse.accessToken;
statusChangeCallback(response);
});
};
function statusChangeCallback(response) {
console.log('statusChangeCallback');
console.log(response);
if (response.status === 'connected') {
facebookLogin();
}
}
facebookLogin = function() {
$window.FB.api('/me',{ fields: 'id, name, email' }, function(response) {
console.log(response);
console.log('Successful login for: ' + response.name);
console.log('Successful login for: ' + response.email);
var id = parseInt(response.id);
var postData = {
"user_fb_id":id,
"user_fb_token": fb_token,
"user_email":response.email,
"user_avatar":"http://graph.facebook.com/" + response.id + "/picture?type=normal",
};
$http.post("http://localhost:8080/webserver/rest/usrs/fblogin",postData,
{
'Content-Type':'application/json'
}
).success(function (success){
var resp = JSON.stringify(success);
var objResp = JSON.parse(resp);
if(objResp.user_online){
setCreds(success.user_alias,success.user_password);
setUserSession(success);
$location.path("/");
}
})
.error(function (failures){
console.error(failures);
});
});
};
checkLoginState();
};
}
]);
あなたのアプリは(i)フレームをどのように使っていますか? – CBroe