我的web應用程序部署在tomcat中。應用程序加載的網址很好:
http://domain.com/portal-app/(domain.com = 10.124.23.33:8081我無法在url中輸入ip:port。)我也在我的應用程序設置頁面中粘貼了相同的URL。 但我仍然在加載主頁時出現控制檯錯誤。我也沒有收到js警報。當我點擊「登錄」按鈕並輸入用戶名和密碼時,它只會在Facebook彈出窗口中顯示相同的消息。任何幫助,將不勝感激。 「即使使用正確的站點URL,Facebook登錄也不起作用
」給定的URL不被應用程序配置所允許:一個或多個給定的URL >>不被應用程序的設置所允許,它必須與網站URL或Canvas URL匹配,或>>>域名必須是其中一個域名的子域名。「
我已經多次在應用程序設置中驗證了網址。我在瀏覽器和Facebook中使用的應用程序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>
nope,實際的頻道網址是10.124.23.33:8081,因爲編輯器不允許我輸入完整的地址(http:// IP),我把它當作'域名'。請通讀我的第二行。 – user2841986