2016-04-15 72 views
4

我有一個使用解析Javascript SDK和Parse-Server的node.js express應用程序。使用解析服務器在快速應用中使用解析Javascript SDK

我已經根據guide設置了一切,但JS SDK不工作。

我得到{error:unauthorized}。我可以使用REST API訪問我的服務器,但使用JS SDK的應用程序無法訪問。

,我讀了你必須指定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)); 
}); 

應該返回相同的數據,這種捲曲呢(右):

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)); 
}); 

任何想法可能幫助?謝謝。

+0

我正在嘗試做同樣的事情。當試圖訪問分析服務器所在的「baseURL/parse」時,我得到了「{error:unauthorized}」。另外,在快速應用程序中使用JavaScript SDK設置Parse Server時,雲代碼功能始終會返回錯誤。有沒有人能夠通過Express應用程序運行Parse Server和Parse JS SDK? –

+0

我剛剛發佈了我的解決方案。感謝您張貼你的。我完全忽略了'Parse.initialize'行(因爲服務器會這樣做),我不必在我的查詢或雲代碼中使用masterkey。一切正常。 – MayNotBe

回答

1

我的問題是經驗不足:

我使用body-parser,並應用程序設置爲使用該模塊的rawjsontext,並urlencoded中間件功能。

我只需要urlencoded選項。我刪除了其他人和JS SDK開始工作正常。不知何故,其他功能正在干擾SDK。

2

Got it!

那有什麼,我在我的快速應用這些線路

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

這些行後,任何一種叫需要雲代碼的使用或分析的使用被授權