如何同步检查应用程序是否仍然使用javascript sdk授权?

如何同步检查应用程序是否仍然使用javascript sdk授权?,javascript,facebook,facebook-javascript-sdk,Javascript,Facebook,Facebook Javascript Sdk,我试了一下: var auth_response = FB.getAuthResponse(); 但是,即使应用程序已被取消授权,也总是会返回带有访问令牌的authResponse。我期待一个不同的结果 我还尝试订阅authResponseChange FB.Event.subscribe('auth.authResponseChange', checkFbAuthorization); function checkFbAuthorization(response) { if (re

我试了一下:

var auth_response = FB.getAuthResponse();
但是,即使应用程序已被取消授权,也总是会返回带有访问令牌的authResponse。我期待一个不同的结果

我还尝试订阅authResponseChange

FB.Event.subscribe('auth.authResponseChange', checkFbAuthorization);

function checkFbAuthorization(response) {
    if (response.status === 'connected') {
        fb_authorized = true;
    } else if (response.status === 'not_authorized') {
        fb_authorized = false;
    }
但是当我从facebook帐户设置页面取消应用程序的授权时,没有调用checkFbAuthorization

我也尝试过只使用fb.login,但如果应用程序被取消授权,它不会打开弹出窗口


一个可能的解释是我应该等待更长的时间,我尝试了好几次等待更长的时间,但都没有结果。

看看这个演示页面:

有一个按钮用于检查您是否已连接!请记住,在从应用程序列表中删除身份验证后,您必须重新访问应用程序,因为每次访问都会通过JS保存身份验证


编辑:这一个按钮只是测试你是否连接。您可以链接请求和事件以获得应用程序的身份验证工作流:)

请查看此演示页面:

有一个按钮用于检查您是否已连接!请记住,在从应用程序列表中删除身份验证后,您必须重新访问应用程序,因为每次访问都会通过JS保存身份验证


编辑:这一个按钮只是测试你是否连接。您可以链接请求和事件以获取应用程序的身份验证工作流:)

是否关联?无法检查源代码,因为它似乎不是免费的。您可以向函数调用isConnected()添加成功和错误回调。如果用户已连接或未连接,则在检索信息后将执行成功或错误回调,因此它使用assync,对吗?这与调用getLoginStatus相同,我想同步调用它,这样我就可以停留在click事件中。你和他们有关系吗?只是想知道,谢谢你在这两方面的帮助。我想问题是facebook功能会将响应保存在会话之类的东西中,在你重新加载应用程序之前,你不会得到新的有效响应。它是异步的吗?无法检查源代码,因为它似乎不是免费的。您可以向函数调用isConnected()添加成功和错误回调。如果用户已连接或未连接,则在检索信息后将执行成功或错误回调,因此它使用assync,对吗?这与调用getLoginStatus相同,我想同步调用它,这样我就可以停留在click事件中。你和他们有关系吗?我只是想知道,谢谢你在这两方面的帮助。我想问题是facebook功能会将响应保存在会话中,在你重新加载应用程序之前,你不会得到新的有效响应。你找到解决问题的方法了吗?谢谢我也在寻找一些同步解决方案,这样点击事件就可以打开新窗口,你找到什么了吗?你找到解决你问题的方法了吗?谢谢我也在寻找一些同步解决方案,这样点击事件就可以打开新窗口,你找到什么了吗?