适用于 Android 的 Facebook SDK - 示例应用程序无法运行

2023-12-29

好吧,我已经完成了所有业务,遵循了所有步骤,但仍然无法让它发挥作用。 Facebook SDK 附带的简单示例应用程序可在模拟器和 Android 1.5 设备上运行。 所以我的猜测是单一登录的事情。

如果我是对的,那么我应该生成一个密钥哈希,并且我被告知正确的调试密钥库位于

C:\Users\xxx.android\debug.keystore

所以我按照教程进行了操作。

从 google.code 下载 OpenSSL 并在终端中编写如下内容:

“C:\ Program Files \ Java \ jdk1.6.0_22 \ bin \ keytool.exe”-exportcert -alias androiddebugkey-密钥库 “C:\ Users \ JoeZ.android \ debug.keystore”|“C:\ Users \ xxx \ Downloads \ openssl-0.9.8k_X64 \ bin \ openssl.exe” 沙1 -binary|“C:\Users\xxx\Downloads\openssl-0.9.8k_X64\bin\openssl.exe”base64

我得到了一个很好的密钥,我将其插入到 facebook 中的 Android Key Hash 框中,我已经尝试过在输出后带或不带 = 符号,但似乎没有任何效果。

当我尝试登录示例应用程序时,我只是得到 invalid_key 。 我什至尝试了签名的应用程序,但它不起作用。 如果我没有记错的话,示例应用程序中唯一要写的就是我的 APP_ID,对吧?

我正在开发的自己的应用程序也遇到了完全相同的问题。那么请问有人可以帮助我吗?


如果 keytool 命令对你不起作用,我找到了解决这个问题的方法:你可以对哪个密钥进行逆向工程,将哪个密钥作为密钥哈希放入 Facebook 开发人员部分。在您的活动中,只需通过执行以下操作打印出密钥哈希:

try {
   PackageInfo info = getPackageManager().getPackageInfo("[your package name, e.g. com.yourcompany.yourapp]", PackageManager.GET_SIGNATURES);
   for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.d("Hash Key:", Base64.encode(md.digest()));
   }
} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

这对我有用。 MessageDigest 类包含在 JDK 中。 Base64 类则不然。您可以使用this one http://iharder.sourceforge.net/current/java/base64/例如。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

适用于 Android 的 Facebook SDK - 示例应用程序无法运行 的相关文章

随机推荐

  • 在 UnhandledException 上显示消息对话框

    在我的应用程序中 我想在出现任何未处理的异常时显示消息对话框 但当抛出未处理的异常时 似乎没有出现对话框消息 显示消息弹出窗口是否有效 另外在 MSDN 文档中我没有找到太多相关信息 以下是我正在使用的测试代码 public App thi
  • 如何判断元素是否具有流体宽度[重复]

    这个问题在这里已经有答案了 可能的重复 使用 JavaScript 确定元素是否具有固定宽度或百分比宽度 https stackoverflow com questions 1782566 determine whether element
  • “InMemoryUploadedFile”对象没有属性“encode”

    我正在尝试在 Django 中发送一封带有附件的电子邮件 文件是request FILE file 对象 InMemoryUploadedFile 类型 我通过创建消息EmailMessage 然后附加文件message attach f
  • R 中的数据框和列表有什么区别?

    有什么区别数据框 and list in R 什么时候应该使用哪一个 哪个更容易循环 确切的问题 我必须首先存储 3 个字符串元素 如 a b c 稍后 对于其中的每一个 我都需要附加 3 个元素 例如 对于 a 我必须添加 a1 a2 a
  • 合并两个数据框,其中一列根据条件匹配

    模拟数据 set seed 1 df1 lt data frame country c US UK year c 2000 2003 df2 lt data frame country rep c US UK 10 year rep 200
  • java.lang.RuntimeException:无法实例化活动 ComponentInfo

    我试图运行示例代码 在 android 1 5 模拟器中启动应用程序时 我遇到了这些错误 有人有一些提示吗 来自 LogCat 的错误 01 13 02 28 08 392 ERROR AndroidRuntime 2888 FATAL E
  • Android JUnit 首选项测试

    一个相当正常的场景 Android 应用程序有一个首选项活动 从 ListPreference 中选择一个选项会触发代码来更改该 ListPreference 的摘要文本 即 从颜色 ListPreference 中选择 绿色 将通过以下方
  • 在 Python 3 中运行时更改 stdin / stdout 的编码

    在Python 3中 stdin and stdout是具有编码的 TextIOWrappers 因此会输出普通字符串 而不是字节 我可以更改与环境变量一起使用的编码Python编码 http docs python org py3k us
  • 无法运行已发布的 Blazor WebAssembly 应用程序

    当我在 Visual Studio 调试器中运行该应用程序时 它运行得很好 但如果我将其部署到服务器 我会在浏览器控制台中收到此错误 无法在资源 完整性 属性中找到有效的摘要http example com pwaexperiment ww
  • Azure AD - 检索本地 AD 组公用名

    我有一个应用程序需要根据其本地 AD 通用名称来过滤权限 几点注意事项 Azure AD Connect 正在 OnPrem AD 和 Azure 之间同步数据 我成功地将登录用户的组信息从 Azure Graph API 检索到 Web
  • 在 MySQL 中仅检索固定数量的行

    我正在负载下测试我的数据库设计 我只需要检索固定数量的行 5000 我可以指定 LIMIT 来实现此目的 但是查询似乎会构建所有匹配行的结果集 然后仅返回限制中指定的行数 是这样实施的吗 MySQL 是否可以读取一行 读取另一行 并在检索到
  • 如何让 Flexbox (flex-grow) 在调整大小时考虑内容?

    当两个元素都在使用时 如何让 Flexbox 停止平衡同级元素中的空间flex grow 1 这很难预先解释 因此这里是代码 后面是问题的示例屏幕截图以及所需的行为 Parent display flex flex direction co
  • 如何将 AMI 保存到 S3 存储桶?

    我已使用 Amazon AWS 控制台创建了 AMI EBS AMI 该 AMI 附加了 2 个快照 现在我想将该 AMI 备份到 S3 存储桶 这可能吗 实际上 我需要执行此操作 然后才能将该 AMI 移动到不同区域中的存储桶 并注册该
  • 在 JavaScript 中使用 RegEx 进行拆分

    假设我有一个通用字符串
  • 在关键帧之间剪切视频而不使用 ffmpeg 重新编码整个视频?

    我想在任何特定时间戳的开头剪切视频 并且需要precise 所以最近的关键帧不够好 另外 这些视频相当长 一个小时或更长时间 所以我想避免重新编码如果可能的话 将其全部重新编码 否则仅重新编码总持续时间的最小部分 因此 希望最大限度地利用
  • 反应式存储库在保存新对象时抛出异常

    我在用r2dbc r2dbc h2和实验性的spring boot starter data r2dbc implementation org springframework boot experimental spring boot st
  • iOS 7:如何通过私有API获取自己的号码?

    旧方法不再有效 way 1 void lib dlopen Symbols System Library Framework CoreTelephony framework CoreTelephony RTLD LAZY NSString
  • 如何从 Brush(例如 DrawingBrush)转换为 BitmapSource?

    我有一个带有一些矢量图形的 DrawingBrush 我想将其转换为 BitmapSource 作为将其转换为 Bitmap 的中间步骤 做到这一点的 最好 方法是什么 public static BitmapSource BitmapSo
  • Python 优化(-O 或 PYTHONOPTIMIZE)有什么作用?

    文档只说 Python 解释器执行 基本优化 但没有详细说明 显然 它依赖于实现 但是有什么方法可以了解可以优化什么类型的东西 以及它可以节省多少运行时间 使用 O 有什么缺点吗 我唯一知道的是 O 禁用assert 但大概不应该使用ass
  • 适用于 Android 的 Facebook SDK - 示例应用程序无法运行

    好吧 我已经完成了所有业务 遵循了所有步骤 但仍然无法让它发挥作用 Facebook SDK 附带的简单示例应用程序可在模拟器和 Android 1 5 设备上运行 所以我的猜测是单一登录的事情 如果我是对的 那么我应该生成一个密钥哈希 并