ParseUser.setEmail()不适用于“某种字符串”?

时间:2014-04-27 23:00:41

标签: android facebook facebook-javascript-sdk parse-platform

我正在尝试在从Facebook SDK获取的用户中设置电子邮件。如果我用这样的字符串设置电子邮件:

user.setEmail("whatever@whwhwh.com"); 
user.saveInBackground();

它有效,没问题......它出现在Parse的数据浏览器......

如果我尝试做我需要做的事情(见下面的代码),那么它不起作用,我检查了字符串值,它没关系,这是所需的电子邮件....我试过了不同的事情..没有运气..请帮助,谢谢。

user.setEmail(user.getProperty("email").toString());
user.saveInBackground();

1 个答案:

答案 0 :(得分:1)

确保所提供的电子邮件未被任何其他用户使用。这是因为电子邮件必须是 unique

调用saveInBackground时,如果确实发生异常,它实际上不会抛出任何异常。因此,在您的情况下,如果电子邮件是重复的,则不会保存电子邮件,也不会抛出任何异常。

要使用saveInBackground捕获例外,您可以使用SaveCallback

user.saveInBackground(new SaveCallback() {
  public void done(ParseException e) {
    if (e == null) {
      // No exception
    } else {
      // Exception occured
    }
  }
});

有关例外的列表,您可以参考ParseException