为什么facebook newMeRequest没有响应?

时间:2014-06-03 10:43:31

标签: android facebook facebook-graph-api facebook-sdk-3.1

我使用以下代码来获取我的facebook用户配置文件,问题是,当我触发newMeRequest时,它从不响应。

会话已经打开,我还在manifest.xml中添加了Internet权限,如何解决?谢谢你的帮助

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函数,这意味着甚至没有记录错误消息。

由于

2 个答案:

答案 0 :(得分:2)

这是我昨天回答的问题(app crash when try get user photo by Facebook iOS Graph API with app-scoped user id)。

请求/me/picture会导致http 304重定向,显然ImageLoader()无法按照您当前使用它的方式处理重定向。

答案 1 :(得分:2)

您实际上并没有执行请求。在请求定义的末尾添加.executeAsync()