android - Facebook Android SDK 始终返回错误响应(SSLHandshakeException)

标签 android facebook

我有一个带有登录过程的应用程序,用户可以使用他的 Facebook 帐户完成该过程。该应用程序只需要读取用户公开个人资料的权限。 我在 Android Studio 中设置了 Facebook SDK 版本 3.23.0。登录过程运行完美,应用程序有一个打开的 Activity session 及其正确的 token ,但每当我尝试 newMeRequest 时,响应总是返回以下错误:

javax.net.ssl.SSLHandshakeException: java.lang.ClassCastException: com.android.org.bouncycaSTLe.jcajce.provider.asymmetric.ec.BCECPublicKey 无法转换为 java.security.interfaces.RSAPublicKey

这是我请求的源代码:

com.facebook.Request request = com.facebook.Request.newMeRequest(session, new com.facebook.Request.GraphUserCallback()
{
    @Override
    public void onCompleted(GraphUser user, com.facebook.Response response)
    {
        // If the response is successful
        if (session == Session.getActiveSession())
        {
            if (user != null)
            {
                 // do some things ...
            }
        }
        if (response.getError() != null)
        {
            // handle errors
        }
    }
});
request.executeAsync();

我已经在浏览器中检查了请求的 URL,它有效。我不知道对象 Response 中发生了什么。任何帮助将不胜感激。

提前致谢,亲切的问候

最佳答案

我找到了证书的问题所在。我也在使用 Volley 进行通信,使用自定义堆栈来管理安全连接。似乎覆盖 HttpsUrlConnection 以使用我的证书与 Facebook 自己的 https 连接发生冲突。更换证书解决了这个问题。

关于android - Facebook Android SDK 始终返回错误响应(SSLHandshakeException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28725053/

相关文章:

android - 如何创建一个没有资源的android库项目

html - 在同一行上获取 Twitter 推文和 Facebook 点赞

java - 为什么 Selenium 驱动程序无法识别 Facebook 登录页面的 ID 元素?

android - 比较两个不同图像的像素,耗时太长

android - AnalyticsReceiver - 那是做什么用的?为什么它会导致 'Receiver does not require permission' 警告?

android - 将数据保存到 Parse 云

使用 facebook 数据的 django 社交身份验证

ios - Facebook 从新闻提要链接到您的应用程序无法正常工作

ios - 使用 Facebook 测试深度链接通知在 iOS 中不起作用

java - 如何将 res/color/xml 样式应用于动态创建的按钮