我正在尝试使用Parse Cloud Code来运行python脚本。我正在传递参数,但我似乎遇到了错误。我不是100%确定问题是什么,但似乎我没有正确地编写网址。任何帮助,将不胜感激。
我的python代码如下所示:
# a function that makes a sentence more exciting
def excited(sentence):
return sentence + '!!!'
这是我在main.js中的代码:
Parse.Cloud.define('testFunction', function(request, response) {
var someParam = request.params['testString'];
var url = 'http://mywebsite.com/test.py/excited&sentence=' + someParam;
Parse.Cloud.httpRequest({
url: url,
success: function(httpResponse) {
console.log(httpResponse.headers);
console.log(httpResponse.text);
response.success();
}, error: function(httpResponse, error) {
console.error('Request failed with response code ' + httpResponse.status);
}
});
});
答案 0 :(得分:0)
<强>编辑:强>
现在我更好地理解了这个问题。 您正在尝试从Parse.Cloud基于javascript的服务调用python方法。根据他们的教程,我想你可能想要反过来。
Parse.Cloud允许您在javascript中部署一些服务器端代码。然后,您可以使用python或curl或任何其他语言或工具从移动应用程序到服务器端点进行REST API调用。在测试时,你可以在你的盒子上调用python的终点。
所以你的服务器代码(在cloud / main.js中)应如下所示:
Parse.Cloud.define("testFunction", function(request, response) {
var excitedSentence = request.params.testString + "!!!";
response.success(excitedSentence);
});
此代码在https://api.parse.com/1/functions/testFunction
创建REST API端点然后你可以使用python调用这个API端点(假设你的盒子上安装了Python):
import json,httplib
connection = httplib.HTTPSConnection('api.parse.com', 443)
connection.connect()
connection.request('POST', '/1/functions/testFunction', json.dumps({
"testString": "This is an example sentence"
}), {
"X-Parse-Application-Id": "xxxxx_PUT_YOUR_ID_xxxxxxx",
"X-Parse-REST-API-Key": "xxxxxxxx_YOUR_KEY_xxxxxx",
"Content-Type": "application/json"
})
result = json.loads(connection.getresponse().read())
print result
如果您没有安装python,可以通过转到在线仪表板来调用API端点。