android - 使用android登录解析云代码

标签 android parse-platform parse-cloud-code

在我的 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/

相关文章:

android - 用户在 Firebase 上删除另一个用户

android - 带背景的边框半径无法工作

swift - 访问 PFObject nsmutablearray 时 EXC__BAD_ACCESS 的 Xcode 6 beta 4 错误

ios - 除非您拉动刷新,否则表中的数据不会更新。 swift ios

javascript - 使用 CloudCode 在 Parse.com 中保存来自 URL 的图像

javascript - 解析云代码两次发送推送通知

java - 运行代码时出错,我尝试了 MultidexEnabled 但没有成功

IOS Parse的Anypic安装

javascript - 真的很困惑 re : how to use Parse Promises correctly in Cloud Code

android - 当有 onClick 监听器时如何检测运动事件?