Почему Facebook newMeRequest не отвечает?
-
21-12-2019 - |
Вопрос
Я использовал следующий код, чтобы получить свой профиль пользователя Facebook. Проблема в том, что когда я запускаю newMeRequest, он никогда не отвечает.
Сеанс уже открыт, и я также добавил разрешение на доступ в Интернет в файл манифеста.xml. Как это исправить?Спасибо за помощь
public class ProfileFragment extends Fragment {
private View rootView;
private ImageView profilePic;
private Context ctx;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ctx = getActivity();
rootView = inflater.inflate(R.layout.profile, container, false);
profilePic = (ImageView) rootView.findViewById(R.id.profile_pic);
Session session = Session.getActiveSession();
if (session.isOpened()) {
Log.d("test1","success 123");
Request.newMeRequest(session, new MeReqCallback());
} else {
Log.d("test1","fail 123");
}
return rootView;
}
private class MeReqCallback implements GraphUserCallback {
@Override
public void onCompleted(GraphUser user, Response response) {
Log.d("test1",response.getError().getErrorMessage());
new ImageLoader(ctx).execute(profilePic,"https://graph.facebook.com/"+ user.getId() +"/picture");
}
}
После регистрации он попадает в успех 123, но даже не попадает в функцию onCompleted, то есть даже не регистрируется сообщение об ошибке.
Спасибо
Решение
Вы фактически не выполнили запрос.Добавлять .executeAsync()
в конце определения вашего запроса.
Другие советы
Это та же проблема, к которой я ответил здесь ( Сбой приложения при попытке получить фото пользователя на Facebook Facebook IOS Graph API с идентификатором пользователя Scoped ).
Запрашивание /me/picture
приводит к перенаправлению HTTP 304, и, по-видимому, ImageLoader()
не может обрабатывать перенаправить, как вы используете его в настоящее время.