2015-04-23 36 views
1

我在Parse Express中打facebook圖搜索URL。電話號碼是Parse.Cloud.httpRequest使用Express的Parse.Cloud.httpRequest問題,說沒有這樣的成功方法:

我得到了500 Internal Server Error反應,當我看到在日誌中我看到:

  1. 一個錯誤,指出該httpRequest沒有命名的成功方法:(即使我正在使用的代碼是基於正確的關於Parse.com的例子)。
  2. 基本JSON數據已成功檢索,但錯誤阻止了該功能的完成。

下面的代碼,所有的技巧讚賞:

// These two lines are required to initialize Express in Cloud Code. 
var module = require('cloud/jsonml.js'); 
var Buffer = require('buffer').Buffer; 
var express = require('express'); 
var app = express(); 

// Global app configuration section 
app.set('views', 'cloud/views'); // Specify the folder to find templates 
app.set('view engine', 'ejs'); // Set the template engine 
app.use(express.bodyParser()); // Middleware for reading request body 


app.get('/hello', function(request, response) { 
    Parse.Cloud.httpRequest({ 
          url: 'a-facebook-graph-url', 
          success: function(httpResponse) { 
          console.log(httpResponse.data); 
          response.success(httpResponse.data); 
          var xml = module.stringify(httpResponse.data); 
          var base64xml = xml.data.base64; 
          console.log(base64xml); 
          res.render('hello.ejs',{ message: base64xml }); 
          }, 
          error:function(httpResponse){ 
          console.error('Error:' + httpResponse.message); 
          response.error("Failed to parse feed"); 
          res.render('hello.ejs',{ message: httpResponse.message }); 
          } 
     }); 
    }); 

app.listen(); 
+0

我看到過三個加適量問題的承諾/解析過去的2-3個小時。它可能是api的暫時混帳。 – K3N

回答

0

我只是用承諾。這似乎爲我工作:從parse網站

Parse.Cloud.httpRequest({ 
     url: 'a-facebook-graph-url' 
    }).then(function(httpResponse) { 
     console.log(httpResponse.text); 
     var xml = module.stringify(httpResponse.data); 
     var base64xml = xml.data.base64; 
     res.render('hello', 
     { 
      message: base64xml 
     }); 
    }, function(httpResponse) { 
     console.error('Request failed with response code ' + httpResponse.status); 
    }); 

更多信息here

相關問題