Web アプリケーションを Tomcat にデプロイしました。アプリケーションは次の URL で問題なくロードされます:
http://domain.com/portal-app/ (domain.com=10.124.23.33:8081 URL に ip:port を入力できませんでした。 )アプリの設定ページ。しかし、ホームページの読み込み中にコンソールでエラーが発生します。私もjsアラートを受け取りません。「ログイン」ボタンをクリックしてユーザー名とパスワードを入力すると、Facebookのポップアップウィンドウに同じメッセージが表示されます。これに関するヘルプは大歓迎です。
「指定された URL は、アプリケーションの構成によって許可されていません。: 1 つ以上の指定された URL は、>>アプリの設定によって許可されていません。ウェブサイトの URL またはキャンバスの URL と一致する必要があります。または、>>>ドメインはのサブドメインである必要があります。アプリのドメインの 1 つです。」
アプリの設定で URL を何度か確認しました。ブラウザと Facebook で使用するアプリケーションの URL は同じです。むしろ、URLをコピーして貼り付けただけです。ここにコードがあります
<html>
<body>
<div id="fb-root"></div>
<script>
//Load the SDK asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "./js/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
window.fbAsyncInit = function() {
FB.init({
appId : '488834651123456',
channelUrl : 'http://domain/portal-app/channel.html',
status : true,
cookie : true,
xfbml : true
});
FB.getLoginStatus(function(response) {
alert(response.status);
if (response.status === 'connected') {
alert("hi");
} else if (response.status === 'not_authorized') {
FB.login(function(response) {
if (response.authResponse) {
alert("hi");
} else {
// The person cancelled the login dialog
}
}, {scope: 'user_about_me,user_birthday,user_groups,user_hometown,user_interests,user_likes,user_location,read_stream'});
}else {
FB.login(function(response) {
if (response.authResponse) {
alert("hi");
} else {
// The person cancelled the login dialog
}
}, {scope: 'user_about_me,user_birthday,user_groups,user_hometown,user_interests,user_likes,user_location,read_stream'});
}
});
};
</script>
<fb:login-button show-faces="true" width="200" max-rows="1"></fb:login-button>
</body>
</html>