我在本地主機中創建了一個小應用程序。Facebook API在嘗試使用本地主機運行時發送錯誤響應
我已經在該wieshark檢查:
請求會是:
HTTP GET: http://www.facebook.com/dialog/oauth?api_key=APPID&app_id=APPID&channel_url=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D9%23cb%3Df17ca8709c%26origin%3Dhttp%253A%252F%252F127.0.0.1%253A8080%252Ffd1147b44%26domain%3D127.0.0.1%26relation%3Dparent.parent&client_id=121312018012923&display=none&domain=127.0.0.1&locale=en_US&origin=1&redirect_uri=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D9%23cb%3Df164e7a46c%26origin%3Dhttp%253A%252F%252F * 127.0.0.1%253A8080% * 252Ffd1147b44%26domain%3D127.0.0.1 %26relation%3Dparent%26frame%3Df216567208 & RESPONSE_TYPE =記號%2Csigned_request%2Ccode & SDK =喬伊
Facebook正在發送200 OK:
[截斷]鑑於網址不被應用程序配置:一個或多個指定的網址不被應用' s設定允許不允許。它必須將網站網址或帆布URL匹配,或域必須是一個的子域Ø
我沒有得到什麼的問題是: 我有我的本地主機上運行XAMPP。 在畫布和網站URL中我有:http://mytestdomain.com:8080。
我的機器在/ etc/hosts我有127.0.0.1 mytestdomain.com。
實際的代碼在你的應用程序配置在Facebook的我正在
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'APPID', status: true, cookie: true, xfbml: true});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
FB.getLoginStatus(function(response) {
if (response.status == "connected") {
alert("yes I am in ");
}
else{
alert(" you need to login to facebook:");
}
});
function checkFacebookLogin() {
alert("hai");
}
</script>
<p id="fb_login_button_1"><fb:login-button onlogin="checkFacebookLogin();" size="medium" scope="email">Sign in using Facebook</fb:login-button></p>
</body>
謝謝Zurek的迴應。是的,我有它指向本地主機。 – 2012-07-25 05:33:49
我嘗試了2種組合:網站網址和畫布url = http:// localhost:8080 2)網站網址和畫布網址= http://mytestapp.com:8080。在我的主機文件中,我有mytestapp 127.0.01 – 2012-07-25 05:34:03
太棒了,很高興它的工作,將問題標記爲回答,歡呼 – 2012-07-25 05:39:31