解析服务器 REST API 错误

解析服务器 REST API 错误

我正在使用 mLab 上的 google cloud 和数据库来部署解析服务器。我已经在其上采用了计算引擎实例和 bitnami 解析堆栈,我已根据 github 中解析提供的示例在 server.js 文件中配置了所有变量。每个 api 都像 JAVASCRIPT 一样正常工作,我能够从 javascript 文件进行调用并从数据库中获取数据。但问题出在 RESTAPI 上,我的解析服务器无法识别 rest api 密钥。

这是仪表板上 API 控制台的 CURL

  curl -X POST \ -H "X-Parse-Application-Id: {my app id}" \ -H "X-Parse-REST-API-Key: undefined" \ http://serverURL/parse/functions/Show

这是我的 server.js 文件在解析初始化期间

const parseServer = new ParseServer({ databaseURI: nconf.get('DATABASE_URI') || cloud: nconf.get('CLOUD_PATH') || appId: nconf.get('APP_ID'), masterKey: nconf.get('MASTER_KEY'),

serverURL:nconf.get('SERVER_URL'),restAPIKey:nconf.get('REST_API_KEY'),
javascriptKey:nconf.get('JAVASCRIPT_KEY'),
clientKey:nconf.get('CLIENT_KEY'),
dotNetKey:nconf.get('.NET_KEY'),

}

如您所见,RESTAPI 键在 curl 中未定义。我不明白我在哪里犯了错误。请为我提供一些建议。提前谢谢。

答案1

这里是 bitnami 开发人员。

我已按照您的指示操作,但无法重现您的问题。

我在 Google Cloud 中创建了一台机器,并在其顶部安装了 bitnami 解析实例。然后,我转到应用程序的 URL,并创建了一个名为的类GameScore请参阅此截图。

然后,我按照 github 解析示例来制作 curl 以将数据引入数据库。这是我制作的 curl,它对我有用。

curl -X POST \
  -H "X-Parse-Application-Id: APPID_FORM_SERVER.JS" \
  -H "Content-Type: application/json" \
  -d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
  http://localhost:1337/parse/classes/GameScore

APPID_FROM_SERVER.JS是我从server.js文件中获取的。然后在仪表板中,我可以看到我已发送到服务器的内容。

我的server.js文件是默认文件,位于 /opt/bitnami/apps/parse/htdocs/server.js

看来你的配置server.js是错误的。默认server.js文件如下所示:

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var app = express();
// Specify the connection string for your mongodb database
// and the location to your Parse cloud code
var api = new ParseServer({
    databaseURI: "mongodb://root:[email protected]:27017/bitnami_parse",
    cloud: "./node_modules/parse-server/lib/cloud-code/Parse.Cloud.js",
    appId: "d774b123a533e0ba2169b4926ed99de5676d59ef",
    masterKey: "5cdbe7c6fdb090c97cbf794a701dd697a70716ab",
    fileKey: "80e8cf19d1467992c6559a5826fef0278d489f9a",
    serverURL: 'http://35.187.2.104:80/parse'
});
// Serve the Parse API on the /parse URL prefix
app.use('/parse', api);

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

//Parse Dashboard
var ParseDashboard = require('parse-dashboard');
var dashboard = new ParseDashboard({
    apps: [
        {
            appName: "My Bitnami Parse API",
            appId: "d774b123a533e0ba2169b4926ed99de5676d59ef",
            masterKey: "5cdbe7c6fdb090c97cbf794a701dd697a70716ab",
            fileKey: "80e8cf19d1467992c6559a5826fef0278d489f9a",
            production: true,
            serverURL: 'http://35.187.2.104:80/parse'
        }
    ]
});

var allowInsecureHTTP = true;

// Serve the Parse Dashboard on the /parsedashboard URL prefix
app.use('/', dashboard);

var portdash = 4040;
app.listen(portdash, function() {
    console.log('parse-dashboard running on port ' + portdash);
});

相关内容