Android Facebook获取所有个人资料信息

Zah*_*qvi 11 android facebook

我如何从Facebook获取所有用户个人资料信息(如名字,姓氏,电子邮件等)

我已经下载了FB SDK但没有获取配置文件信息的示例.

Xav*_*loy 11

在facebook-android-sdk/examples/simple文件夹中有一个例子.它显示了如何对用户的基本数据进行异步请求.您将能够找到这些数据.

干杯


Tha*_*wda 8

这是对我有用的最快捷方式

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;

import android.widget.Toast;

import com.facebook.Request;
import com.facebook.Request.GraphUserCallback;
import com.facebook.Response;
import com.facebook.Session;
import com.facebook.Session.StatusCallback;
import com.facebook.SessionState;
import com.facebook.model.GraphUser;
import com.x.y.android.R;

public class FBConnect extends FragmentActivity {
    private static final String TAG = "FacebookConnect";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.facebook_connect);


    if (Session.getActiveSession() == null
            || Session.getActiveSession().isClosed()) {
        Session.openActiveSession(this, true, new StatusCallback() {

            @Override
            public void call(Session session, SessionState state,
                    Exception exception) {
                System.out.println("State= " + state);

                if (session.isOpened()) {
                    System.out.println("Token=" + session.getAccessToken());
                    Request.executeMeRequestAsync(session,
                            new GraphUserCallback() {
                                @Override
                                public void onCompleted(GraphUser user,
                                        Response response) {
                                    if (user != null) {
                                        System.out.println("User=" + user);

                                    }
                                    if (response != null) {
                                        System.out.println("Response="
                                                + response);
                                        Toast.makeText(FBConnect.this,
                                                response.toString(),
                                                Toast.LENGTH_LONG).show();
                                    }
                                }
                            });
                }
                if (exception != null) {
                    System.out.println("Some thing bad happened!");
                    exception.printStackTrace();
                }
            }
        });
    }
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode,
            resultCode, data);
    }

}
Run Code Online (Sandbox Code Playgroud)