我遇到FB API问题。
星期五早上,我已经完成了设置,并且工作正常我可以将它安装在我的2个不同的设备上,并且它可以同时工作。
周日,当我想向我的朋友展示我的应用程序时,连接到Facebook的设备在安装了FB应用程序时崩溃了,今天是第一次使用API 3.0,我发现我的应用程序配置错误,无法登录Facebook。
直到今天我才触摸代码,今天我唯一改变的是调用我发布带标题图片的地方,所以我根本没有触摸登录部分:
if (MyGlobals.INSTANCE.isOnline(getSherlockActivity())) {
if (txt.getTag() == faceLoggedIn) {
if (session.isOpened()) {
Log.w("ss", "Session Allready Open");
onClickLogout();
updateSocialView(txt, img);
// txt.setText("Log To Facebook");
// txt.setTag(faceLoggedOut);
// img.setImageResource(R.drawable.facebook_icon_gray);
// MyGlobals.INSTANCE.f_socialsSet = false;
}
} else if (txt.getTag() == faceLoggedOut) {
if (!session.isOpened() && !session.isClosed()) {
Log.w("Session is not opend", "Session is not closed");
session.openForRead(new Session.OpenRequest(getActivity()).setCallback(MyGlobals.INSTANCE.statusCallback));
} else {
Session.openActiveSession(getActivity(), true, MyGlobals.INSTANCE.statusCallback);
Log.w("Open Active Session", "Status Callback");
updateSocialView(txt, img);
}
updateSocialView(txt, img);
// txt.setText("Log To Facebook");
// txt.setTag(faceLoggedOut);
// img.setImageResource(R.drawable.facebook_icon_gray);
// MyGlobals.INSTANCE.f_socialsSet = true;
}
那么什么可能导致这种错误配置?应用程序如何工作一天,然后它不再起作用?我确实从Facebook上删除了应用程序以测试它在第一次应用程序下载/登录时的行为,但我再次没有更改FB平台上的应用程序首选项。
如果设备上没有FB应用程序,一切正常,webview出现,你登录,你发布到FB,所有设置。
当FB应用程序设置完成时,我完全混淆了它的错误?
请解释一下。 TNX。
答案 0 :(得分:5)
当您使用默认的android调试密钥进行签名时,如果a)密钥到期并且IDE自动创建新密钥或b)您在另一台计算机上运行/构建应用程序,则该密钥哈希可以更改来自仪表板上列出的不同密钥哈希)。
TL; DR:您的密钥哈希不匹配
要解决此问题,请阅读我们的文档(https://developers.facebook.com/docs/mobile/android/build/#sig)。有两种方法可以检索密钥哈希。每次使用不同的密钥对应用程序进行签名时(无论是因为您使用的是另一台计算机,还是因为旧的调试密钥已过期),您都需要将其添加到仪表板中。当您最终将应用程序上传到Google Play时,您必须创建自己的密钥库文件以对其进行签名,当您这样做时,请不要忘记将该密钥库文件的密钥哈希添加到仪表板。