在我的 Android 应用程序中,我使用 ParseCloud.callFunctionInBackground() 来调用我的云函数:
Parse.Cloud.define("delete", function(request, response)
{
Parse.User.logOut();
Parse.User._currentUser = new Parse.User();
Parse.User._currentUser._if=request.params.user;
Parse.User._currentUser._sessionToken = request.params.token;
var query = new Parse.Query(Parse.User);
query.get(request.user)
.then(function(user)
{
Parse.User._saveCurrentUser(user);
response.success("User login valid!");
},
function(err)
{
response.error("Login failed: " + JSON.stringify(err));
});
});
虽然我期望这会登录用户,但它总是返回“找不到对象”。我正在发送由“user.getObjectId()”和 session “user.getSessionToken()”返回的用户 ID。
最佳答案
通过云代码登录的一般经验法则是调用 logIn
函数,返回 session token 并在应用程序代码中调用 becomeInBackground
方法,例如这个:
在您的云代码中:
Parse.User.logIn(username, password).then(function(user) {
response.success(user._sessionToken);
}, function(error) {
response.error(error);
});
然后在您的应用代码中:
// call cloud code function that returns sessionToken
ParseUser.becomeInBackground(sessionToken, new LogInCallback() {
@Override
public void done(ParseUser parseUser, ParseException e) {
if (e == null) {
// log in successful
} else {
// log in failed
}
}
});
关于android - 使用android登录解析云代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30398839/