簡體   English   中英

如何使用phonegap + quickblox注冊/登錄用戶?

[英]How to sign up/login a user using phonegap + quickblox?

我一直在使用phonegap中的應用程序,想要調用quickblox后端服務。

該應用程序成功獲取應用程序令牌並創建API會話但user.create代碼失敗 - 這是我的index.html代碼

    <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title></title>
    <!--  -->
    <link rel="stylesheet" href="css/themes/.css" />
    <link rel="stylesheet" href="css/themes/jquery.mobile.icons.min.css" />
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.3/jquery.mobile.structure-1.4.3.min.css" />
    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.js"></script>
    <script src="js/config.js"></script>
    <script src="js/quickblox.js"></script>
</head>
<body>
    <div style="width:100%;">
        <h1 style="text-align:center;">The Activity Network</h1>
    </div>
    <div>
        <div data-role="tabs" id="tabs">
            <div data-role="navbar">
                <ul>
                    <li><a href="#one" data-ajax="false">Login</a></li>
                    <li><a href="#two" data-ajax="false">Register</a></li>
                </ul>
            </div>
            <div id="one">
                <h2>Login</h2>
                <input type="text" id="new_login" placeholder="Username" />
                <input type="password" id="new_password" placeholder="Password" />
                <input id="auth" type="submit" value="Submit" onclick="window.location='sportsSelector.html'" />
            </div>
            <div id="two">
                <h2>Register</h2>
                <input type="text" id="login" placeholder="Username"/>
                <input type="email" id="email" placeholder="E-Mail Address"/>
                <input type="email" id="confirmEmail" placeholder="Confirm E-Mail Address"/>
                <input type="password" id="password" placeholder="************"/>
                <input type="password" value="confirmPassword" placeholder="************"/>
                <input id="register" type="submit" value="Submit" />
            </div>
        </div>
     </div>
    <!-- Cordova reference, this is added to your app when it's built. -->
    <script src="cordova.js"></script>
    <script src="scripts/platformOverrides.js"></script>

    <script src="scripts/index.js"></script>
    <script>
        $(document).ready(function () {
            QB.init(QBAPP.app_id, QBAPP.auth_key, QBAPP.auth_secret);
            //console.log(QBAPP.app_id, QBAPP.auth_key, QBAPP.auth_secret);
            QB.createSession(function (err, result) {
                console.log(result);
                // callback function
            });
        });

        var username;
        var password;
        var email;

        $('#register').click(function () {
            console.log("Ready! Getting the user details.");

            username = document.getElementById('login').value;
            password = document.getElementById('password').value;
            email = document.getElementById('email').value;

            console.log("Username: ", username);
            console.log("Password: ", password);
            console.log("E-Mail: ", email);

            var params, connection;

            params = {
                login: username,
                password: password,
                email: email
            };

            //console.log("Params: ", params);

            create(params);
        });

        function create(params) {
            console.log("Creating new user");
            QB.users.create(params, function (err, result) {
                console.log("Result: ", result);
                // callback function
            });
        }
    </script>
</body>
</html>

如果有人能發現我失蹤的東西,那么我真的很感激。 目前,它在控制台中吐出以下內容:

    XHR finished loading: POST "http://localhost:4400/ripple/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=https%3A//users.quickblox.com/users.json".
[DEBUG] Add new user: POST https://users.quickblox.com/users.json?user[owner_id]=&user[login]=Username&email[email]=undefined&user[password]=Password&token=undefined index.html:197

Failed to load resource: the server responded with a status of 500 (Internal Server Error) http://localhost:4400/ripple/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=https%3A//users.quickblox.com/users.json

我認為你的其他一個腳本(本地)可能會干擾。 將您的代碼復制到jsfiddle,添加了一些偽憑證,它工作得很好。

$(document).ready(function () {
    var QBAPP = {
        app_id: replace_with_yours,
        auth_key: replace_with_yours,
        auth_secret: replace_with_yours
    };

    QB.init(QBAPP.app_id, QBAPP.auth_key, QBAPP.auth_secret);

    QB.createSession(function (err, result) {
        console.log(result);
        // callback function
    });
});

var username;
var password;
var email;

$('#register').click(function () {
    console.log("Ready! Getting the user details.");

    username = document.getElementById('login').value;
    password = document.getElementById('password').value;
    email = document.getElementById('email').value;

    console.log("Username: ", username);
    console.log("Password: ", password);
    console.log("E-Mail: ", email);

    var params, connection;

    params = {
        login: username,
        password: password,
        email: email
    };

    create(params);
});

function create(params) {
    console.log("Creating new user");
    QB.users.create(params, function (err, result) {
        console.log("Result: ", result);
        // callback function
    });
}

這是您的要求:

POST https://users.quickblox.com/users.json?user[owner_id]=1622883&user[login]=Username&email[email]=undefined&user[password]=Password&token=undefined

至少電子郵件和令牌有問題:

email[email]=undefined
token=undefined

嘗試仔細檢查這些參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM