我正在使用 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);
});