我有一个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应用,以避免“未找到访问令牌”错误?
答案 0 :(得分:2)
实际上任何具有相同方法的BB应用程序现在都无法授权。这是FB问题,但没有人急着解决它。
我找到了解决方法来传递它,但它并不适用于所有操作系统/设备。使用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修复了这个问题!请验证!