gpt4 book ai didi

android - 解析 Cloudfunction 失败

转载 作者:行者123 更新时间:2023-11-30 01:43:43 26 4
gpt4 key购买 nike

我正在尝试通过云代码删除文件。但是这个脚本失败了:

    Parse.Cloud.define("deleteFile1", function(request, response) {
Parse.Cloud.httpRequest({
method: 'DELETE',
url: 'https://api.parse.com/1/files/****.png',
headers: {
"X-Parse-Application-Id": "*******",
"X-Parse-REST-API-Key" : "*******"
},
success: function(httpResponse) {
console.log('Delete succeeded ' + httpResponse.text);
response.success();
},
error: function(httpResponse) {
response.error("failed");
}
});
});

错误 141,脚本失败。

我这样调用它:

Map<String, String> map = new HashMap<String, String>();
ParseCloud.callFunctionInBackground("deleteFile1", map, new FunctionCallback<Object>() {
@Override
public void done(Object object, ParseException e) {
if(e == null){

}else{
System.out.println(e.getCode());
utils.toast_error("Couldn't delete image.. try again");
}

}
});

我检查了我的 key ,它们是正确的。所以脚本本身在某些方面一定是错误的。我想也许是网址。/files 是否应该是图像文件绑定(bind)到的 ParseFile?我尝试将“请求”和“响应”更改为 httpResponse 等。但没有任何区别。

最佳答案

更新后的代码 现在至少可以正常运行,并且您可以捕获错误。

您可以通过修改错误处理程序以返回 httpResponse.text返回实际消息:

    error: function(httpResponse) {
response.error("failed " + httpResponse.text);
}

最初,我使用了错误的 X-Parse-REST-API-Key 并收到以下错误:

{
"code": 141,
"error": "failed {\"error\":\"unauthorized\"}\n"
}

确保使用 MASTER key :X-Parse-Master-Key。这修复了我这边的代码并且运行良好。


原始代码失败,因为您没有在响应完成时调用 success()

下面是调用/deleteFile1时收到的JSON响应;它表明这是问题所在:

{
code: 141
error: "success/error was not called"
}

如果您查看 Parse Cloud Code docs您会看到每个方法都使用 response(或在您的代码中为 httpResponse)参数,并在有响应时调用 response.success()完成。

始终阅读 Parse 发回给您的响应 - 这可能有助于理解错误。


发现相关帖子的答案暗示了同样的事情:

关于android - 解析 Cloudfunction 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34043056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com