简单的 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'