Я использую официальный Facebook SDK в своем приложении для Android. После входа пользователя в систему я могу получить uid и имя пользователя facebook следующим образом:
Facebook mFacebook = new Facebook(APP_ID);
// ... user logs in ...
//String jsonUser = mFacebook.request("me/picture"); // throws error
String jsonUser = mFacebook.request("me");
JSONObject obj = Util.parseJson(jsonUser);
String facebookId = obj.optString("id");
String name = obj.optString("name");
Я также знаю, что я могу получить доступ к картинке профиля с этими ссылками:
https://graph.facebook.com/<facebookId>/picture
https://graph.facebook.com/<facebookId>/picture?type=large
Я хотел бы использовать этот код для создания изображения профиля:
public static Drawable getPictureForFacebookId(String facebookId) {
Drawable picture = null;
InputStream inputStream = null;
try {
inputStream = new URL("https://graph.facebook.com/" + facebookId + "/picture").openStream();
} catch (Exception e) {
e.printStackTrace();
return null;
}
picture = Drawable.createFromStream(inputStream, "facebook-pictures");
return picture;
}
Но это просто не сработает. Я всегда получаю следующую ошибку:
SSL handshake failure: Failure in SSL library, usually a protocol error
И я не могу решить эту проблему. Это кажется довольно сложным (смотрите здесь или здесь). Итак, какие еще существуют опции, чтобы получить изображение пользователя facebook, успешно зарегистрировавшегося в моем приложении?