我正在使用facebook JS SDK。我目前登录facebook,我的代码如下:
$(document).ready(function() {
FB.init({
appId: "myappID",
xfbml: true
});
FB.api('/me', function(response) {
alert(response.name);
});
});
我得到的警告说"未定义"。为什么?有没有办法让Facebook独特的应用程序?
非常感谢
答案 0 :(得分:1)
我得到的警报说“未定义”。为什么?
很可能是因为您的用户帐户尚未连接到您的应用中。
首先调用FB.login,然后将API调用放入回调处理程序。
答案 1 :(得分:1)
因为您还没有授权您的应用。
首先使用FB.login
登录您的应用。
答案 2 :(得分:1)
我发现你在jQuery的$(文档).ready中初始化FB JS SDK时发现很奇怪。
你在进行同步加载吗?如果你按照Facebook的说明进行实际的异步加载,那就更好了,因为它不会阻止页面加载。在异步加载中,包含all.js的<script>
标记(Facebook的JS SDK)在$(document).ready事件触发后附加到文档DOM。
因此,您正在尝试访问尚未定义的js-object(FB)。最好按照Facebook的文档中的说明将代码分配给window.fbAsyncInit:
window.fbAsyncInit = function() {
FB.init({
appId: 'AppID',
cookie: true, // I think you'll need this cookie to make the API call
xfbml: true
});
// Additional initialization code here
FB.api('/me', function(response) {
alert(response.name);
});
};
祝你好运!