我有社交媒体工具栏。我有像按钮的Facebook,我的愿望是当有人点击Facebook按钮而不是找到用户并将相关信息存储到我的数据库进行促销。
我做了这样的
window.fbAsyncInit = function() {
FB.Event.subscribe('edge.create',
function(response) {
var FBGraphURL = "http://graph.facebook.com/user/callback=?";
FB.getLoginStatus(function(res) { alert(res); });
FB.api('/me', function(resp) {
alert('Good to see you, ' + resp.username + '.');
});
});
};
但仍然resp.username显示为 undefined 。我怎么能解决这个问题?
更新
工作代码:
window.fbAsyncInit = function() {
FB.Event.subscribe('edge.create', function(response) {
login();
});
};
function login() {
FB.login(function(response) {
if (response.authResponse) {
GetUser();
} else {
// cancelled
}
}, {scope: 'email'});
}
function GetUser() {
FB.api('/me', function(resp) {
alert('Good to see you, ' + resp.email + '.');
});
}
此外,每个域都必须有不同的应用ID(重要)
答案 0 :(得分:1)
类似插件只会返回关于制作内容的URL。 要获取用户信息,您必须使用fb connect,当用户接受您的应用程序时,您可以使用其访问令牌检索他的信息!
点击此处了解更多详情:https://developers.facebook.com/docs/howtos/login/getting-started/