我试图将facebook凭据提供给我的应用程序。我想打印用户名,第二个名字。
我使用了这段代码。
fbLogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(fb.isSessionValid()){
try {
fb.logout(getApplicationContext());
updateButtonImage();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
fb.authorize(MainActivity.this, new String[]{"email","first_name","second_name"}, new DialogListener() {
@Override
public void onFacebookError(FacebookError e) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "fbError", Toast.LENGTH_LONG).show();
}
@Override
public void onError(DialogError e) {
// TODO Auto-generated method stub
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
updateButtonImage();
//session.createLoginSession("RandB", emailtext);
Intent i = new Intent(MainActivity.this, TestTab.class);
startActivity(i);
finish();
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "onCancel", Toast.LENGTH_LONG).show();
}
});
}}
});
有谁能告诉我如何在新String中打印这个first_name和second_name?(new String[]{"email","first_name","second_name"})
被修改
我可以从这个Bundle values
的不完整方法中获取数据吗?
答案 0 :(得分:0)
Here如果您想打印middle_name
只执行user.GetProperty("middle_name")
功能,您可以看到如何获取用户的数据以及如何打印它。
答案 1 :(得分:0)
我找到了答案。
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
try {
JSONObject json = Util.parseJson(fb.request("me"));
String firstName = json.getString("first_name");
String lastName = json.getString("last_name");
full_name = firstName + " " + lastName;
Log.d("Name", firstName + " "+ lastName);
} catch (Exception error) {
Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_SHORT).show();
}
通过将此代码添加到onComplete方法,我们可以打印用户的名字和姓氏。