4
我试图抓取已加入群组的用户的ParseRelation。我没有问题,直到我加入Facebook登录。现在,当尝试将用户添加到关系并保存ParseObject时,出现“无法保存未验证的ParseUser”的错误。我可以加入由未登录Facebook的人创建的群组,并且我可以加入我创建的群组(我使用FB登录),但是获得与由Facebook登录的其他用户创建的群组错误。无法保存未通过身份验证的ParseUser
mJoinButton.setOnClickListener(new View.OnClickListener() {@
Override
public void onClick(View v) {
ParseObject group = mGroups.get(getAdapterPosition());
mJoinedRelation = group.getRelation(ParseConstants.KEY_JOINED_RELATION);
mJoinedRelation.add(mCurrentUser);
group.saveInBackground(new SaveCallback() {
@
Override
public void done(ParseException e) {
if (e == null) {
Toast.makeText(mContext, "You have joined the group!", Toast.LENGTH_LONG).show();
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(mContext)
.setMessage(e.getMessage())
.setTitle(R.string.login_error_title)
.setPositiveButton(android.R.string.ok, null);
AlertDialog dialog = builder.create();
dialog.show();
}
}
});
}
});
mCurrentUser从哪里来?该用户是否已保存在数据库中?如果用户不在数据库中,则会出现此错误。此外,请注意Parse所具有的用户类的安全限制。如果您以用户A的身份登录,则无法修改用户B.不确定是否您正在尝试执行此操作,因为仅使用您提供的伪代码很难知道。你能否尝试添加更多的代码并解释整个流程? – 2015-04-08 10:58:41
感谢您的帮助。我不想修改任何用户。我所要做的就是将一个指针添加到另一个类中的关系中。我可以通过从Facebook获取用户配置文件JSON对象并将每个单独片段保存到用户类中单独列中的Parse来解决此问题,而不是将JSON对象本身保存在列中。我不知道为什么这会修复它,但似乎有一个JSON对象会导致问题。即使保持代码完全一样,只要从Parse中删除JSON对象,用户就可以加入关系。也许这是一个错误? – Michael 2015-04-11 02:37:14