2015-11-01 96 views
1

我使用Parse的CLI與新的Heroku集成來創建腳手架NodeJS項目(parse new)。解析+ Heroku查詢500錯誤

它給你的例子云功能是:

// Hello 
Parse.Cloud.define('hello', function(request, response) {  

    response.success('Hello world! ' + (request.params.a + request.params.b)); 

}); 

我打這條路線與下面的curl命令,一切工作正常:

curl -X POST \ 
-H "X-Parse-Application-Id: b8qPYS4SLSz0WoSWXlWeQosmF2jJPUPydetg3esR" \ 
-H "X-Parse-REST-API-Key: TOJLbfbNXSQcBdDVnU0MnKVu7SyamQvZmorHL5iD" \ 
-H "Content-Type: application/json" \ 
-d '{"a": "Adventurous ", "b": "Parser"}' \ 
https://api.parse.com/1/functions/hello 

但後來我加了一個新的類來我的解析數據,插入一行,並試圖查詢&返回結果。我始終得到{"code":143,"error":"Invalid webhook response status: 500 Internal Server Error"}作爲迴應。

我相當肯定這不是我的代碼,這是問題,我猜測有一些配置步驟或我失蹤的東西。

這是我修改解析功能:

// Hello 
Parse.Cloud.define('hello', function(request, response) {  
    var query = Parse.Query("Favorites"); 

    query.find({ useMasterKey: true }).then(
    function(results) { 
     response.success('win'); 
    }, function() { 
     response.error('fail'); 
    }); 

}); 

我的解析類與插排圖片:

enter image description here

我用Google搜索了錯誤,無法找到任何良好的答案只是措辭不佳的問題。我在這裏完全不知所措。在此先感謝您的幫助。

+2

列出KEYS在論壇不好主意! –

+0

轉到解析儀表板並驗證用戶可能會創建新類。如有必要,在儀表板中創建新班級。添加行到它。在儀表板中進行驗證。從CLI調用新類(在REST調用到雲功能時GET)。然後使用查詢從節點層獲取它們。它應該都可以工作 –

+0

他們是公鑰,對他們來說沒有任何祕密。你正在描述的步驟已經完成,如我的註釋過的帖子所示。 –

回答

1

貌似分析是錯誤的寄存器webhooks.js後部署腳本初始化: Parse.initialize(process.env.PARSE_APP_ID, 「未使用」,process.env.PARSE_MASTER_KEY);

而沒有第二個參數(JavaScript鍵),您不能從雲端函數執行任何Parse.Query。

所以我的解決辦法是:

  1. 添加新PARSE_JS_KEY到Heroku的配置變量(值從Parse->設置 - JavaScript的鑰匙>鍵)

  2. 在server.js文件中添加一行:

    Parse.initialize(process.env.PARSE_APP_ID, process.env.PARSE_JS_KEY, process.env.PARSE_MASTER_KEY);

之前require('./cloud/main.js');

PS:將process.env.PARSE_JS_KEY直接放在register-webhooks.js初始值設定項不起作用。

+0

你是正確的!我不相信一個全新生成的應用程序可能會忽略這樣的事情? –