【发布时间】:2014-05-06 18:31:23
【问题描述】:
我是实施 Parse 用户数据管理的新手。我想重新发送电子邮件验证。经过研究,我得到了答案
“您可以使用相同的当前电子邮件值“更新”其用户对象上的电子邮件字段并再次保存。这将触发新的验证电子邮件。”
怎么做?
【问题讨论】:
标签: android parse-platform email-validation
我是实施 Parse 用户数据管理的新手。我想重新发送电子邮件验证。经过研究,我得到了答案
“您可以使用相同的当前电子邮件值“更新”其用户对象上的电子邮件字段并再次保存。这将触发新的验证电子邮件。”
怎么做?
【问题讨论】:
标签: android parse-platform email-validation
请注意,出于安全原因,您只能修改当前登录的ParseUser 的属性。另外不要忘记在您的问题中缺少您的代码的用户上调用save 方法之一。
ParseUser user = ParseUser.getCurrentUser();
user.setEmail(user.getEmail());
user.saveInBackground();
来自docs
具体来说,您无法调用任何保存或删除 类型方法,除非 ParseUser 是使用经过身份验证的 方法,例如登录或注册。这确保只有用户可以 修改自己的数据。
所以你不需要为用户“查询”,因为用户应该已经登录了。
但是,如果您在用户未登录或全局未登录时执行此操作,您可能需要考虑使用允许管理功能的云功能。
为此,您可以参考this,它指的是cloud code。我从来没有使用过 Parse 的那部分,所以如果你需要的话,我帮不上什么忙。
只是为了补充这个很棒的答案。
如果您是 Android/Parse 的新手,那么这是一个学习如何“在后台 - 让用户等待”的好机会。这就是 .saveInBackground。
private void resendEmail()
{
ParseUser user = ParseUser.getCurrentUser();
user.setEmail(user.getEmail());
... here, bring up a message saying 'we're contacting the cloud!'
user.saveInBackground(new SaveCallback()
{
public void done(ParseException e)
{
... here, get rid of that message
if (e == null)
{
Utils.Log("resendEmail no problem.");
... here, bring up a message like...
String un = ParseUser.getCurrentUser().getUsername();
"We have resent the validation email to " +un +". Please check your email!"
}
else
{
int errCodeSimple = e.getCode();
Utils.Log(", some problem: " + errCodeSimple);
... here, bring up a message like...
"We could not reach the internet! Try again later!"
}
}
});
}
最后,这是 Android 中一个令人惊叹的相关技巧。创建帐户时,您需要检查它是否是“看起来有效”的电子邮件。这在 iOS 中需要 18,000 行代码,但在 Android 中只需要 一行代码。
maybeEmail = emailField.getText().toString();
if (!android.util.Patterns.EMAIL_ADDRESS.matcher(maybeEmail).matches())
{
userAlert("Please a valid email, buddy!!!");
return;
}
希望对某人有所帮助。
【讨论】: