简单的 QuickBlox createSession 给出 422(需要 application_id)
Simple QuickBlox createSession giving 422 (application_id required)
我刚开始使用 QuickBlox javascript SDK,但在尝试创建会话时遇到错误 ServiceProxy.ajax error 422 Unprocessable Entity {"errors":{"base":["application_id or app_id (deprecated) required"]}}
。
我的test.html
:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>QuickBlox API client - Content</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="quickblox-javascript-sdk/quickblox.js"></script>
<script src="config.js"></script>
<script src="main.js"></script>
</head>
<body>
<h2>Test</h2>
</body>
</html>
我的main.js
:
QB.init(CONFIG.appID, CONFIG.authKey, CONFIG.authSecret, CONFIG.debug);
QB.createSession(TEST_USER, function(err, result) {
// callback function
console.log('callback')
if (err) {
console.log(err.detail);
} else {
}
});
我的config.js
:
var CONFIG = {
appId: 19335,
authKey: 'UtcSpG3mWkLzVmU',
authSecret: 'zXx2uFdRXvr5eR-',
debug: true
};
var TEST_USER = {
login: 'test1',
password: 'hello123'
}
error
:
POST https://api.quickblox.com/session.json 422 (Unprocessable Entity)
jquery.min.js:4
k.cors.a.crossDomain.sendjquery.min.js:4
n.extend.ajaxquickblox.js:2549
ServiceProxy.ajaxquickblox.js:49
AuthProxy.createSessionquickblox.js:2391
QuickBlox.createSessionVM590:2
(anonymous function)VM584:762 InjectedScript._evaluateOnVM584:695 InjectedScript._evaluateAndWrapVM584:609 InjectedScript.evaluate
quickblox.js:2491
ServiceProxy.ajax error 422 Unprocessable Entity {"errors":{"base":["application_id or app_id (deprecated) required"]}}
当我尝试使用您的凭据时,我遇到了同样的错误...但是当我尝试使用我自己的凭据时,它运行良好。您可以验证您的应用凭据并重试吗?
var TEST_USER = {
login: 'test1',
password: 'hello123'
};
QB.init(17704, 'Tbr7Gum6rsHsQNL', 'JbN7JH5QK87sODR', true);
QB.createSession(TEST_USER, function(err, result) {
if (err) {
alert(err.message);
} else {
alert(result.token);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://quickblox.com/js/quickblox.min.js"></script>
这个解决方案很傻,我自己偶然发现的。
您从 Quickblox 的站点复制了代码。
应用程序 ID 的密钥在配置 JSON 中命名为 'appId',而在 QB.init
中引用为 'appID'
我刚开始使用 QuickBlox javascript SDK,但在尝试创建会话时遇到错误 ServiceProxy.ajax error 422 Unprocessable Entity {"errors":{"base":["application_id or app_id (deprecated) required"]}}
。
我的test.html
:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>QuickBlox API client - Content</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="quickblox-javascript-sdk/quickblox.js"></script>
<script src="config.js"></script>
<script src="main.js"></script>
</head>
<body>
<h2>Test</h2>
</body>
</html>
我的main.js
:
QB.init(CONFIG.appID, CONFIG.authKey, CONFIG.authSecret, CONFIG.debug);
QB.createSession(TEST_USER, function(err, result) {
// callback function
console.log('callback')
if (err) {
console.log(err.detail);
} else {
}
});
我的config.js
:
var CONFIG = {
appId: 19335,
authKey: 'UtcSpG3mWkLzVmU',
authSecret: 'zXx2uFdRXvr5eR-',
debug: true
};
var TEST_USER = {
login: 'test1',
password: 'hello123'
}
error
:
POST https://api.quickblox.com/session.json 422 (Unprocessable Entity)
jquery.min.js:4
k.cors.a.crossDomain.sendjquery.min.js:4
n.extend.ajaxquickblox.js:2549
ServiceProxy.ajaxquickblox.js:49
AuthProxy.createSessionquickblox.js:2391
QuickBlox.createSessionVM590:2
(anonymous function)VM584:762 InjectedScript._evaluateOnVM584:695 InjectedScript._evaluateAndWrapVM584:609 InjectedScript.evaluate
quickblox.js:2491
ServiceProxy.ajax error 422 Unprocessable Entity {"errors":{"base":["application_id or app_id (deprecated) required"]}}
当我尝试使用您的凭据时,我遇到了同样的错误...但是当我尝试使用我自己的凭据时,它运行良好。您可以验证您的应用凭据并重试吗?
var TEST_USER = {
login: 'test1',
password: 'hello123'
};
QB.init(17704, 'Tbr7Gum6rsHsQNL', 'JbN7JH5QK87sODR', true);
QB.createSession(TEST_USER, function(err, result) {
if (err) {
alert(err.message);
} else {
alert(result.token);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://quickblox.com/js/quickblox.min.js"></script>
这个解决方案很傻,我自己偶然发现的。
您从 Quickblox 的站点复制了代码。
应用程序 ID 的密钥在配置 JSON 中命名为 'appId',而在 QB.init