Ответ 1
Кажется, это ошибка. Началось с моим приложением ранее утром. Пока еще не исправлено.
Несколько отчетов об ошибках, которые были представлены в Facebook для разработчиков:
Я использую url https://graph.facebook.com/{app_user_id}/picture?width=120&height=120
, чтобы показать изображение пользователя в моем приложении, но с утра этим он перестает работать на мобильных устройствах.
Теперь тот же URL перенаправляется на https://lookaside.facebook.com/platform/profilepic/?asid={app_user_id}&height=120&width=120
. Этот url работает на рабочем столе, но на мобильном телефоне он перенаправляется снова на https://m.facebook.com/platform/profilepic/?asid={app_user_id}&height=120&width=120
, и мобильная сеть отказывается выводить изображение. Если я попытаюсь загрузить его в адресной строке, он будет загружен, а не показан.
Я искал любые изменения в графике api на Facebook, но ничего не нашел. Любой намек на это? Спасибо.
Кажется, это ошибка. Началось с моим приложением ранее утром. Пока еще не исправлено.
Несколько отчетов об ошибках, которые были представлены в Facebook для разработчиков:
Хотя я не нашел официальных объявлений, Facebook в течение последних нескольких дней изменил их api, теперь, когда вы запрашиваете общедоступный профиль пользователя, url рисунка имеет дополнительные параметры, ext и хеш
Вызов URL-адреса без этих параметров возвращает ошибку 404.
Не уверен, что изменение влияет только на идентификатор страницы.
В настоящее время, когда вы запрашиваете данные общего профиля пользователя, URL-адрес выглядит так: https://lookaside.facebook.com/platform/profilepic/?psid=PAGE_SCOPED_ID&height=1024&ext=1522585606&hash=AeThc8c7EQDFgShs
до того, как он был просто
https://lookaside.facebook.com/platform/profilepic/?psid=PAGE_SCOPED_ID&height=1024
Мне кажется, что единственным известным решением в настоящее время будет запрашивать новые данные общего профиля и обновлять вашу базу данных.
Надеюсь, что это поможет.
Сегодня я столкнулся с той же проблемой, и я нашел решение для этого, и это сработало для меня.
После входа в систему мы получим ниже URL профиля pic
http://graph.facebook.com/11111111111/picture?type=large&height=320&width=420
11111111111 - это ваш идентификатор id id/facebook
теперь нам нужно изменить этот URL-адрес, чтобы отображать изображение, вот код.
try {
profile_pic = new URL("https://graph.facebook.com/" + id + "/picture?type=large");
Log.i("profile_pic", profile_pic + "");
Picasso.with(getContext()).
load(profile_pic.toString())
.placeholder(R.drawable.img)
.into(imageviewId);
}
catch (MalformedURLException e) {
e.printStackTrace();
}
id - ваш идентификатор socialid/facebook id
нам просто нужно удалить & height = 320 & ширина = 420 из URL.
вы можете сравнить оба URL:
http://graph.facebook.com/11111111111/picture?type=large&height=320&width=420
https://graph.facebook.com/11111111111/picture?type=large
и да, вам также нужно изменить http на https