在我的一个应用程序中,我需要获取Facebook的数据……我这样做:
我创建了应用ID.它成功登录,但在注销后,我登录,然后它给了我:
我在做什么错了?请建议我使用Facebook SDK …我已经在手机中安装了Facebook …这在没有安装内置Facebook应用程序的模拟器中运行良好.
这是我的代码:
if (FB_APP_ID == null) { Builder alertBuilder = new Builder(this); alertBuilder.setTitle("Warning"); alertBuilder.setMessage("A Facebook Applicaton ID must be " + "specifIEd before running this example: see App.java"); alertBuilder.create().show();}// Initialize the dispatcherdispatcher dispatcher = new dispatcher(this);dispatcher.addHandler("login", LoginHandler.class);dispatcher.addHandler("stream", StreamHandler.class);dispatcher.addHandler("logout", logoutHandler.class);// If a session already exists, render the stream page// immediately. Otherwise, render the login page.Session session = Session.restore(this);if (session != null) { dispatcher.runHandler("stream");}else { dispatcher.runHandler("login");}
解决方法:
生成哈希键是错误的.您可以使用两个步骤获取哈希键.一个是通过命令提示符.另一个是通过编码.通过命令提示符仅在第一次处理时使用哈希键.我不知道原因.我也遇到了同样的问题.所以我通过编程方式尝试了.
请遵循以下步骤:
将以下代码粘贴到oncreate()中.
try { PackageInfo info = getPackageManager().getPackageInfo( "com.example.packagename", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.d("KeyHash:", Base64.encodetoString(md.digest(), Base64.DEFAulT)); }} catch (nameNotFoundException e) {} catch (NoSuchAlgorithmException e) {}
在上面的编码中使用您的包名称修改“com.example.packagename”(您可能会在AndroID Manifest文件中找到您的包名称).
运行您的应用程序转到粘贴上述代码的活动.在logcat中搜索“KeyHash”.您可能会找到一个密钥哈希.复制密钥哈希并转到Facebook应用程序仪表板页面.转到设置并输入下面的图像中的详细信息.
完成上述步骤后.重新启动应用程序,您现在可以登录到Facebook.
有关密钥哈希的更多详细信息,请查看link
如果在设置页面中添加错误信息,则意味着会出现一些错误.所以在那里使用正确的信息.此外,如果公众(除您之外)需要使用您的申请,则意味着您需要启用权限(在设置旁边的“状态和审核”中更改“是”).
总结以上是内存溢出为你收集整理的Android Facebook集成无效密钥哈希全部内容,希望文章能够帮你解决Android Facebook集成无效密钥哈希所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)