Hugo

一个沉淀知识的地方!

0%

facebook 密钥散列获取和 中转义的问题 下划线和减号

前言

在我们使用Facebook登录或其他功能的时候需要在facebook的后台配置对应应用的 密钥散列,而我们怎么获取呢,这就是我接下来要说的;

1. 获取facebook的应用密钥散列:

我们可以通过调用facebookSdk种的 getApplicationSignature()方法进行获取,详细代码如下:

1
2
val key = FacebookSdk.getApplicationSignature(this)
Log.e("facebook","facebook key=${key}")

注意这个密钥散列 在不同的签名下是不一样的,如果我们上架google Play的话需要下载一个 google play的派生包来获取着个密钥散列;

就这样我们就获取到了我们需要的在Facebook后台配置的密钥散列;但是直接把获取到的密钥散列粘贴到Facebook后台会出现报错,密钥格式不正确,哪是我们获取的密钥散列出错了吗,并没有,是因为转义的问题;哪我们接下来就解决这个问题吧。

2.解析获取到的密钥散列的转义字符;

我们获取到的密钥散列如下:

1
2
“Z-x*******f_qc_A***0_V****w”
//其中 * 代表正常字符

可以看到 其中出来 正常的英文字符外 还有 “-“和”_”
这就是我们需要进行转义的字符:
转义规则如下:

1
2
"-" 转换为  "+"
"_" 转换为 "/"

哪我们把上面获取到的密钥散列中需要转换的字符转换后如下:

1
“Z+x*******f/qc/A***0_V****w”

好了,我们现在把转义后的密钥散列配置到Facebook后台看看,这时候还是会报错,这是因为什么呢 这是因为每个密钥散列后面都得加上 “=”
我们把转义后的密钥散列加上”=” 如下:

1
“Z+x*******f/qc/A***0_V****w=”

这个时候我们在把已经加上的 密钥散列配置到Facebook后台试试,这个时候Facebook并没有在报错了,我们点击保存就成功配置好了。

然后我们可以用app 试一下能否用Facebook进行登录,如果能够成功登录哪么我们的配置就成功了。