我正在尝试使用facebook的登录按钮,我能够成功登录。我已将权限设置为 -
loginButton.setReadPermissions(Arrays.asList(
"public_profile","email","user_birthday"));
但问题是有些人将他们的生日保密。在这种情况下,当我试图访问生日时,应用程序将进入catch块 -
try {
user = new User();
user.facebookID = object.getString("id").toString();
user.email = object.getString("email").toString();
user.name = object.getString("name").toString();
user.gender = object.getString("gender").toString();
PrefUtils.setCurrentUser(user, LoginActivity.this);
user.birthday = object.getString("birthday").toString();
Log.d("LoginActivity","in executeGraphRequest user.birthday = "+user.birthday);
//PrefUtils.setCurrentUser(user, LoginActivity.this);
} catch (Exception e) {
e.printStackTrace();
}
我能理解它为什么要进入catch区块。但我想知道在查询之前我们如何提前知道我们查询的信息是私密的。这不仅适用于生日,也适用于其他领域。提前谢谢。
答案 0 :(得分:0)
使用类似的东西
if(object.has("birthday"))
user.birthday = object.getString("birthday").toString();