我正在构建一个可与服务器配合使用的Android应用。服务器需要完成所有工作。我想让我的用户创建帐户并使用Facebook连接。
我不知道我需要在数据库中保留哪些信息,以便用户能够在更改电话,重新安装应用程序或任何可能修改其Facebook令牌的内容时对其进行身份验证。
如果我足够清楚,我不会知道我对facebook auth感到有点困惑:/
答案 0 :(得分:0)
这是你如何获得facebook-user的id:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this);
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
login = (LoginButton) findViewById(R.id.btn_login);
login.setReadPermissions("email", "public_profile");
login.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
String id = object.getString("id");
// some database stuff here
// ...
}
});
request.executeAsync();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
Log.d("ERROR", error.toString());
Toast.makeText(MainActivity.this, "Couldn't login, pleasy try again!", Toast.LENGTH_SHORT).show();
}
});
}