Вопрос

Я использовал следующий код, чтобы получить свой профиль пользователя 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() не может обрабатывать перенаправить, как вы используете его в настоящее время.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top