解析JS SDK登录到在Node.JS中运行的解析服务器=失败

时间:2016-05-04 00:40:56

标签: javascript node.js parse-platform parse-server

其他开发者。

我正在迁移使用Parse Hosted的应用,新代码将在Node.JS(带快速)内运行。我在解决问题时遇到了一些困难:我的JavaScript SDK请求总是返回"无法GET / parse / 1 / login" ,就好像我在请求无效的快递路线。我知道它是有效的,因为如果我在没有正确appID的情况下重现呼叫,它将返回{"error":"unauthorized"}消息。

我正在使用Parse docs中的Node.JS代码尝试最基本的可能版本

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var app = express();

var api = new ParseServer({
  databaseURI: 'mongodb://localhost:27017/dev', // Connection string for your MongoDB database
  cloud: '/home/myApp/cloud/main.js', // Absolute path to your Cloud Code
  appId: 'myAppId',
  masterKey: 'myMasterKey', // Keep this key secret!
  fileKey: 'optionalFileKey',
  serverURL: 'http://localhost:1337/parse' // Don't forget to change to https if needed
});

// Serve the Parse API on the /parse URL prefix
app.use('/parse', api);

app.listen(1337, function() {
  console.log('parse-server-example running on port 1337.');
});

Node.JS服务器运行正常,我甚至可以使用cURL请求查询数据,完全没有问题。

我的登录代码也是最基本的可能版本,在加载JS SDK的页面中直接运行到浏览器控制台:

Parse.User.logIn("user", "pass", {
  success: function(user) {
    console.log('ok', user);
  },
  error: function(user, error) {
    console.log('error', user, error);
  }
});

返回只是Cannot GET /parse/1/login(它似乎来自Express,但如果我删除了appID ,则消息会更改,因此我知道解析服务器正在获取它)。值得注意的是,如果我针对 api.parse.com 服务器发出这个调用,那么这个调用完全相同:{"code":101,"error":"invalid login parameters"}

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

对不起,伙计们,我刚刚发现问题是JS SDK版本。真的是错误的,但我无法想象它需要更改SDK,因为新的Parse Server应该与Hosted版本兼容。

为了记录,我在JS SDK版本1.6.7 ,我更新到1.6.14 ,它现在运行正常。