1

我有一个 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());
    }

} 

这是我单击按钮时发生的情况。

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

然后显示以下登录屏幕:

在此处输入图像描述

然后我被问到是否要验证这个应用程序:

在此处输入图像描述

单击“安装”或“取消”不会执行任何操作。

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

如何正确验证我的 Facebook 应用程序以避免“找不到访问令牌”错误?

4

1 回答 1

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/mp/1808833#M203977

我找到了通过它的解决方法,但它不适用于所有操作系统/设备。使用 iPhone 用户代理"Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16"并在BrowserField.

请将 FB 问题标记为转载。因此,他们可能会提高优先级并更快地修复它。

更新:FB 解决了这个问题!请验证!

于 2012-07-12T13:24:37.593 回答