android 无法获取 facebook 个人资料图片

android cant get facebook profile picutre

我正在尝试在 android 中使用 Facebook 登录,我收到了正确的电子邮件和姓名,但我无法获取个人资料图片

这是代码

                override fun onSuccess(loginResult: LoginResult) {
                    println(loginResult)
                    val request = GraphRequest.newMeRequest(
                        loginResult.accessToken
                    ) { `object`, response ->
                        Log.v("LoginActivity", response.toString())

                        // Application code
                        val id = `object`.getString("id")
                        val email = `object`.getString("email")
                        val name = `object`.getString("name")

                        val picture = `object`.getString("picture")
                        Picasso.get().load(picture).into(image_view)

//                        registerRequest(email,name)
                    }
                    val parameters = Bundle()
                    parameters.putString("fields", "id,name,email,picture.type(large)")
                    request.parameters = parameters
                    request.executeAsync()
                }

我也试过了,但还是不行

Picasso.get().load("https://graph.facebook.com/" + id + "picture?/type=normal").into(image_view)

试试这个。

 val profilePicture =
               URL("https://graph.facebook.com/" + jsonObject.getString("id") + "/picture?width=200&height=200")

在加载到 Picasso 或 Glide 之前还要进行空检查

尝试确保您拥有 Facebook 的必要权限以读取用户的个人资料图片,然后通过使用 Facebook 的 LoginManager 作为 URL 参数成功登录时收到的访问令牌来请求它. (我假设您正在使用 Android 的 Facebook 登录 SDK)

Picasso.get()
    .load(firebaseUser.getPhotoUrl() + 
        "?access_token=" + 
            facebookLoginResult.getAccessToken().getToken())
    .into((ImageView) findViewById(R.id.testing));

确保您使用的是 HTTPS