在带有 Parse-Server 的 Express 应用程序中使用 Parse Javascript SDK

Using Parse Javascript SDK in express app with Parse-Server

我有一个使用 Parse Javascript SDK 和 Parse-Server 的 node.js Express 应用程序。

我已经根据 guide 设置了所有内容,但 JS SDK 无法正常工作。

我正在 {error:unauthorized}。我可以使用 REST API 访问我的服务器,但不能使用 JS SDK 从应用程序中访问。

我读到您必须为 Parse-Server 的所有操作指定 useMasterKey = true,因此:

var User = Parse.Object.extend('_User');
var query = new Parse.Query(User);
query.useMasterKey = true;

query.find().then( function(results) {
    console.log(results);
},
function(error) {
    console.log(JSON.stringify(error));
});

应该 return 与此 curl 处理的数据相同(对吗?):

curl -X GET \
-H "X-Parse-Application-Id: myAppId" \
-H "X-Parse-Master-Key: myMasterKey" \
http://localhost:1337/parse/classes/_User

唉,不是这样的。

当我尝试 运行 默认云代码函数时出现相同的错误消息:

 Parse.Cloud.run('hello').then( function(response) {
    console.log(response);
 },
 function(error) {
    console.log(JSON.stringify(error));
 }); 

有什么有用的想法吗?谢谢。

知道了!

我的 Express 应用程序中的这些行对我有什么帮助

 var Parse = require('parse/node').Parse;
 Parse.initialize('app_id', 'js_key','master_key');
 Parse.serverURL = 'serverURL';
 Parse.Cloud.useMasterKey();

在这些行之后,需要使用 Cloud Code 或 Parse 的任何类型的调用都已获得授权

我的问题是经验不足:

我正在使用 body-parser 并将应用程序设置为使用该模块的 rawjsontexturlencoded 中间件功能。

我只需要 urlencoded 选项。我删除了其他的,JS SDK 开始正常工作。不知何故,其他功能干扰了 SDK。