使用Facebook SDK时“未找到访问令牌”

时间:2012-07-12 11:53:29

标签: facebook facebook-graph-api blackberry

我有一个BlackBerry应用程序需要将消息发布到用户的Facebook墙上。我使用的是Facebook BlackBerry SDK

我已经设置了一个简单的测试应用程序,它通过调用以下方法尝试在按下按钮时获取当前用户的详细信息:

private void postToFacebookWall(){

    String NEXT_URL = "http://www.facebook.com/connect/login_success.html";
    String APPLICATION_ID = "xxx"; //Removed for security
    String APPLICATION_SECRET = "xxx"; //Removed for security
    String[] PERMISSIONS = Facebook.Permissions.USER_DATA_PERMISSIONS;

    ApplicationSettings as = new ApplicationSettings(NEXT_URL, APPLICATION_ID, APPLICATION_SECRET, PERMISSIONS);
    Facebook fb = Facebook.getInstance(as);

    try {

        User user = fb.getCurrentUser();
        Logger.log("User has authenticated app and logged in. Name: "+user.getName());

    } catch (FacebookException e) {

        Logger.log(e.getMessage());
    }

} 

这是我点击按钮时会发生什么。

在系统日志中,我收到一条错误消息:找不到访问令牌。

然后显示以下登录屏幕:

enter image description here

然后我被问到是否要对此应用进行身份验证:

enter image description here

点击“安装”或“取消”不会做任何事情。

如果我通过网站登录Facebook并验证应用程序,那么我没有收到“未找到访问令牌”错误,一切都按预期工作。

如何才能正确验证我的Facebook应用,以避免“未找到访问令牌”错误?

1 个答案:

答案 0 :(得分:2)

实际上任何具有相同方法的BB应用程序现在都无法授权。这是FB问题,但没有人急着解决它。

  1. 这是我的问题: Unable to pass FB OAuth for my application
  2. 这是FB错误票: https://developers.facebook.com/bugs/401534949883394?browse=search_4ffad6fdebcfa6990918340
  3. 以下是开发论坛的主题: http://supportforums.blackberry.com/t5/Java-Development/FaceBook-API-error-code-11-Method-Deprecated/m-p/1808833#M203977
  4. 我找到了解决方法来传递它,但它并不适用于所有操作系统/设备。使用iPhone用户代理“Mozilla / 5.0(iPhone; U; CPU iPhone OS 3_0,如Mac OS X; en-us)AppleWebKit / 528.18(KHTML,类似Gecko)版本/ 4.0 Mobile / 7A341 Safari / 528.16”并在BrowserField中启用Cookie。

    请将FB问题标记为转载。所以他们可能会提高优先级并加快修复速度。

    更新:FB修复了这个问题!请验证!