我有一个难题.困难意味着我搜索了网络和StackOverflow以及整个FBJS SDK文档并且没有找到答案.
我正在构建一个Page Tab应用程序,我想让粉丝们参加rsvp活动.所以我必须检查用户是否已登录,如果不是,我必须登录.这听起来很简单,但FB.getLoginStatus不会触发回调函数.这是代码摘录:
FB.init({
appId: window.appID,
status: true,
xfbml: true,
cookie: true,
oauth: true,
channelUrl: 'http://example.com/fb/channel.html'
});
Run Code Online (Sandbox Code Playgroud)
然后我只是 - 当然在用户点击一个按钮后 - 调用FB.getLoginStatus,但它似乎没有做任何事情.
我已经检查了沙盒模式,FB.init成功,应用程序设置中的URL和开发环境.我可以调用FB.ui,尽管FB.ui的方法是:'oauth'我收到一条错误消息,说""redirect_uri"参数不能与"next"参数一起使用,这个参数已被弃用." 这很奇怪,因为我没有使用"next"参数.但是当我在undefined旁边设置时,它工作正常,我得到了窗口,但它说"应用程序配置不允许给定URL.".期待,我可以登录,然后我有access_token.但是在新窗口中,getLoginStatus仍然没有做任何事情.
所以欢迎任何建议.
谢谢,塔马斯
更新:
function onBodyLoad() { //on body onload
FB.init({
appId: window.appID,
status: true,
xfbml: true,
cookie: true,
oauth: true,
channelUrl: 'http://example.com/fb/channel.html'
});
}
...
function getName() { // on button onclick
FB.getLoginStatus(function(response){
if (response.authResponse)
{
window.loggedIn = true;
debugString('Logged in');
} else
{
window.loggedIn=false;
debugString('Not logged in');
}
}, true);
if (window.loggedIn === …Run Code Online (Sandbox Code Playgroud) 我们遇到了一个非常尴尬的问题.似乎某些网络或服务器错误导致前端应用程序获得两次生成器值.
是否有可能获取(和更新)生成器值保留在内存中,并且在断电的情况下,它保留在内存中不会被写入磁盘,因此当电源恢复时,它会丢失它的当前值,所以我们可以再次获得发电机价值?
我们使用的是Firebird 1.5.6,Delphi(BDE和本地IBExpert组件).
谢谢,SanTa
更新1:原来,服务器是一些Linux,如果它有帮助...