Javascript FB.api不是一个函数
我想把所有的帖子都放到墙上。我运行了一个连接到FB的示例,但当我尝试使用FB.api获取用户名时(我肯定成功连接),我得到了Javascript FB.api不是一个函数,javascript,facebook,api,Javascript,Facebook,Api,我想把所有的帖子都放到墙上。我运行了一个连接到FB的示例,但当我尝试使用FB.api获取用户名时(我肯定成功连接),我得到了FB.api不是一个函数。一些搜索发现,这表明我使用了错误的API链接,但当我尝试(似乎使用相同的方法连接)firebug NET面板上的everything时,没有错误。什么也没发生 以下是代码(将链接替换为,以便代码在出现我提到的错误之前正常工作): 函数grab(){ FB.api('/me',函数(响应){ 警报(response.name); }); } 函数更
FB.api不是一个函数。一些搜索发现,这表明我使用了错误的API链接,但当我尝试(似乎使用相同的方法连接)firebug NET面板上的everything时,没有错误。什么也没发生
以下是代码(将链接替换为,以便代码在出现我提到的错误之前正常工作):
函数grab(){
FB.api('/me',函数(响应){
警报(response.name);
});
}
函数更新\用户\框(){
var user_box=document.getElementById(“用户”);
user_box.innerHTML=
""
+ ""
+“欢迎,”
+ ""
+ "";
FB.XFBML.Host.parseDomTree();
}
init(“b07e858317c9069d450023b7500b4511”,“xd_receiver.htm”,“ifUserConnected”:update_user_box});
谢谢你的帮助 我想你没有正确初始化。我也有类似的问题。。。我不清楚哪一个是oAuth2.0,哪一个是FB Connect。这似乎令人困惑。我遵循下面的例子,它对我有效。看
FB.init({
appId:'您的应用程序ID',
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
希望这有帮助
另一方面,您可能需要扩展权限才能访问publish\u stream、read\u stream。您应该参考我想您没有正确初始化。我也有类似的问题。。。我不清楚哪一个是oAuth2.0,哪一个是FB Connect。这似乎令人困惑。我遵循下面的例子,它对我有效。看
FB.init({
appId:'您的应用程序ID',
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
希望这有帮助
另一方面,您可能需要扩展权限才能访问publish\u stream、read\u stream。您应该参考使用来自两个不同SDK的方法FB.api
是(all.js)的一部分,FB.xfml.Host.parseDomTree()
是(特性加载器)的一部分。例如,要使用新SDK解析dom树,可以调用FB.XFBML.parse()
。我建议您从两个SDK中选择一个,如果您刚刚开始使用旧SDK,那么最好选择新SDK。您正在使用来自两个不同SDK的方法FB.api
是(all.js)的一部分,FB.xfml.Host.parseDomTree()
是(特性加载器)的一部分。例如,要使用新SDK解析dom树,可以调用FB.XFBML.parse()
。我建议您从两个SDK中选择一个,如果您刚刚开始使用旧SDK,那么最好选择新SDK。Typeoneerror是正确的,您混合了SDK
下面是我如何初始化较新的JS SDK,使用event.subscribe来确保SDK已初始化,并且在继续进行任何API调用或让我的游戏尝试加载之前,用户已经在JS端进行了身份验证
<div id="fb-root"> </div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'YOUR_APP_ID', status: true, cookie: true, xfbml: true});
FB.Canvas.setSize({ width: 760, height: 1000 }); // use this to increase canvas height
FB.Event.subscribe('auth.login', function(response) {
// You can call your function that requires FB.whatever here...
});
};
(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);
}());
</script>
window.fbAsyninit=函数(){
init({appId:'YOUR_APP_ID',status:true,cookie:true,xfbml:true});
setSize({width:760,height:1000});//使用此选项增加画布高度
FB.Event.subscribe('auth.login',函数(响应){
//你可以调用你的函数,它需要FB.where在这里。。。
});
};
(功能(){
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);
}());
我还使用PHPSDK执行初始身份验证。。。如果用户未经过身份验证,我会将JS重定向回登录url(可从PHPSDK方法getLoginUrl获得)。希望有帮助 Typeoneerror是对的,您正在混合SDK
下面是我如何初始化较新的JS SDK,使用event.subscribe来确保SDK已初始化,并且在继续进行任何API调用或让我的游戏尝试加载之前,用户已经在JS端进行了身份验证
<div id="fb-root"> </div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'YOUR_APP_ID', status: true, cookie: true, xfbml: true});
FB.Canvas.setSize({ width: 760, height: 1000 }); // use this to increase canvas height
FB.Event.subscribe('auth.login', function(response) {
// You can call your function that requires FB.whatever here...
});
};
(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);
}());
</script>
window.fbAsyninit=函数(){
init({appId:'YOUR_APP_ID',status:true,cookie:true,xfbml:true});
setSize({width:760,height:1000});//使用此选项增加画布高度
FB.Event.subscribe('auth.login',函数(响应){
//你可以调用你的函数,它需要FB.where在这里。。。
});
};
(功能(){
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);
}());
我还使用PHPSDK执行初始身份验证。。。如果用户未经过身份验证,我会将JS重定向回登录url(可从PHPSDK方法getLoginUrl获得)。希望有帮助
<div id="fb-root"> </div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'YOUR_APP_ID', status: true, cookie: true, xfbml: true});
FB.Canvas.setSize({ width: 760, height: 1000 }); // use this to increase canvas height
FB.Event.subscribe('auth.login', function(response) {
// You can call your function that requires FB.whatever here...
});
};
(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);
}());
</script>