我正在尝试使用旧的facebook连接身份验证来验证我的Android客户端,以获取必要的会话ID以及开始使用facebook的Web服务所需的其他凭据。
我遇到的问题是,当我的Android应用程序启动并尝试加载facebook的登录页面时,同一个登录页面是空白的,它只显示Facebook徽标作为屏幕的标题。
没有可见的登录字段或按钮,无法登录和验证用户。
我试过两个API的一个是facebook连接api for android http://code.google.com/p/fbconnect-android/,另一个是官方的android facebook sdk建议用来代替我之前提到的https://github.com/facebook/facebook-android-sdk/
请参阅下面的图片,了解它在我的应用上的样子。
以下是使用最新android sdk facebook的代码:
/**
* Authenticate facebook network
*/
private void authenticateFacebook() {
// TODO: move this away from this activty class into some kind of
// helper/wrapper class
Log.d(TAG, "Clicked on the facebook");
Facebook facebook = new Facebook(OAUTH_KEY_FACEBOOK_API);
facebook.authorize(this, new AuthorizeListener());
}
class AuthorizeListener implements DialogListener{
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
Log.d(TAG, "finished authorizing facebook user");
}
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
}
}
一个如何使用它的简单示例:http://developers.facebook.com/docs/guides/mobile/
我的代码或多或少与上面的例子相同。
编辑:我没有抓到logcat在我第一次尝试上面的代码时输入的内容,但是他们当时没有抛出异常或警告。只是一个空白页面。
我再次尝试了它并且没有触摸我的代码,现在发生的是加载对话框视图弹出并保持几分钟直到facebook窗口消失并且logcat输出以下错误:
11-18 17:26:19.913: DEBUG / Facebook-WebView(783):Webview 加载网址: https://www.facebook.com/dialog/oauth?type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess&display=touch&client_id=e ??????????????????? 11-18 17:27:01.756: DEBUG / Facebook-authorize(783):登录 失败: com.kc.unity.agent.util.oauth.facebook.DialogError: 与服务器的连接是 不成功。 11-18 17:27:01.783: DEBUG / Facebook-WebView(783):Webview 加载网址: https://www.facebook.com/dialog/oauth?type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess&display=touch&client_id= ???????????????
请注意,我已经修改了客户端ID,原因很明显,但logcat的其余部分未受影响
答案 0 :(得分:2)
我遇到同样的问题,原因是你手机上安装了Facebook应用程序。
和......
经过多方努力,我解决了这个错误。这很简单。这个错误将出现在2.2
android版本之上。可能是哈希键错误的原因。
解决此问题的步骤
打开添加为库的facebook库(com.facebook.android
)
打开FaceBook.java
班级
我们将找到private static final int DEFAULT_AUTH_ACTIVITY_CODE = 32665
。您应该将DEFAULT_AUTH_ACTIVITY_CODE
更改为-1
现在保存并清理并构建库和应用程序
注意:
此空白屏幕仅显示最新版本。
答案 1 :(得分:1)
如果有人遇到此问题,您可能在Facebook开发者网站中创建此应用程序时启用了沙箱模式。禁用它然后它可以正常工作。