我想在本地实施Facebook登录(连接)到我的网站。我查看了文档,但我自己无法实现。我已经在Facebook上创建了一个App ID。我上传网站时应该更改什么?
我试过这个例子:
<html>
<head>
<title>My Facebook Login Page</title>
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR_APP_ID',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<div class="fb-login-button">Login with Facebook</div>
</body>
我收到此错误:
API Error Code: 191 API Error Description: The specified URL is not owned by the application Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration.
我已将http://localhost:8080/
作为我的网站网址。 The documentation says I can use this URL when developing locally
注意:我正在使用Apache,PHP和javascript进行开发。
答案 0 :(得分:0)
您是否添加了验证api所需的域名?如果要在本地服务器上实现它,则必须添加本地地址(这是我们在创建画布应用程序时所做的)。
真的值得一读the detailed documentation:你可以实施这个例子并从中学习。
答案 1 :(得分:0)
这是一个简单的例子。 在创建应用程序时,请确保从您在developers.facebook.com上为您的应用程序配置的域中运行此文件!
<!doctype html>
<html>
<head>
<script src="//connect.facebook.net/en_US/all.js"></script>
<script>
window.fbAsyncInit = function()
{
FB.init
(
{
appId : "<<YOUR APP ID!>>",
status : true,
cookie : true,
oauth : true
}
);
};
function login()
{
FB.login
(
function( response )
{
if ( response.authResponse )
{
FB.api
(
"/me",
function( response )
{
document.getElementById( "profile_name" ).innerHTML = response.name;
document.getElementById( "profile_pic" ).src = "http://graph.facebook.com/" + response.id + "/picture";
}
)
}
}
);
}
</script>
</head>
<body>
<div id="fb-root"></div>
<a href="javascript:login();">Login</a>
<img id="profile_pic"/>
<div id="profile_name"></div>
</body>
答案 2 :(得分:0)
找出你系统的id地址而不是本地主机使用你的ip地址给你使用登录页面的完整URL 前http://192.168.0.10:8080/fb.html