Facebook 意外的令牌错误
我正在尝试使用Facebook登录帮助指南来编写一个脚本,以检查用户是否登录。我已经根据以下内容整理好了Facebook 意外的令牌错误,facebook,facebook-graph-api,facebook-javascript-sdk,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我正在尝试使用Facebook登录帮助指南来编写一个脚本,以检查用户是否登录。我已经根据以下内容整理好了 //这里有额外的JS函数 window.fbAsyninit=函数(){ FB.init({ appId:'303594953085775',//应用ID 频道URL:'http://mysite.com/pages/account/channel.html“,//通道文件 状态:true,//检查登录状态 cookie:true,//启用cookie以允许服务器访问会话 xfbml:tr
//这里有额外的JS函数
window.fbAsyninit=函数(){
FB.init({
appId:'303594953085775',//应用ID
频道URL:'http://mysite.com/pages/account/channel.html“,//通道文件
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
//这里有额外的初始化代码
FB.getLoginStatus(函数(响应){
如果(response.status===“已连接”){
//连接的
}else if(response.status===“未授权”){
//未经授权
登录();
}否则{
//未登录
登录();
}
});
};
};
函数登录(){
FB.登录(功能(响应){
if(response.authResponse){
//连接的
testAPI();
}否则{
//取消
}
});
}
函数testAPI(){
log('欢迎!获取您的信息…);
FB.api('/me',函数(响应){
log(“很高兴见到你,+response.name+”);
});
}
//异步加载SDK
(职能(d){
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0];
if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js”;
ref.parentNode.insertBefore(js,ref);
}(文件);
我不知道我做错了什么,因为我完全照搬了它。我已经复制了四次了,尽管它确实是Facebook网站上写的,但仍然有错误
我有两个错误:
未捕获的语法错误:意外标记}
未捕获的语法错误:意外标记。
我对这种复杂的JavaScript一无所知,因为我只知道如何做一些基本的调用和其他事情,这让我现在想跳楼
有人能告诉我为什么出错吗有没有什么地方可以让我直接掌握整个正确的脚本并替换我的应用程序ID和域,而不必阅读这本愚蠢的Facebook指南?您的代码中存在语法错误:
window.fbAsyncInit = function() {
FB.init({
appId : '303594953085775', // App ID
channelUrl : 'http://mysite.com/pages/account/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional init code here
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// connected
} else if (response.status === 'not_authorized') {
// not_authorized
login();
} else {
// not_logged_in
login();
}
});
};
}; **// REMOVE THIS- This one is extra**
您可以使用记事本++或任何其他优秀的编辑器来避免此类错误:)我也遇到了同样的问题,这是由于直接复制和粘贴代码造成的,这会在其中添加一些奇怪的字符。我通过物理重写来修复它,而不是直接复制和粘贴。未捕获的SyntaxError消息是否也有行和字符号?看起来你有一个额外的};在第一个fbAsyninit函数之后,您知道可以将
if-else
子句替换为:if(response.status!=“connected”)login()代码>这是你真正的应用程序id吗?不要在公共论坛上发布。谢谢,这会删除一个错误,但另一个仍然存在。第14行的“.”显然是非法的我得到未捕获的语法错误:意外标记。-困惑,因为这是直接从Facebook获取的。他们自己的代码不正确@Francesca他们的代码是正确的,你可以在philippeharewood.com/facebook/hello.html上看到一个修改过的版本
window.fbAsyncInit = function() {
FB.init({
appId : '303594953085775', // App ID
channelUrl : 'http://mysite.com/pages/account/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional init code here
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// connected
} else if (response.status === 'not_authorized') {
// not_authorized
login();
} else {
// not_logged_in
login();
}
});
};
}; **// REMOVE THIS- This one is extra**