21

我尝试向端点提交数据,但它说数据太大,所以我将方法更改为 POST 并收到错误:

This API does not support parsing form-encoded input.

接下来,我将类型更改为 application/json,仍然是 post,现在我得到:

{
"error": {
  "errors": [
  {
    "domain": "global",
"reason": "parseError",
  "message": "Parse Error"
 }
 ],
  "code": 400,
 "message": "Parse Error"
 }
}

将大量数据(即 2730 字节)发布到端点并让它正确处理的最佳方式是什么?在我的情况下,有问题的字段是文本类型,因为我超过了应用引擎在字符串中保存的 500 个字符的限制。

此外,与许多事情一样,这在我的本地机器上效果很好,它只会在实时应用程序引擎实例上出现此错误。

谢谢!

4

1 回答 1

31

不确定您的问题是否相关,但我收到“此 API 不支持解析表单编码输入”。当我尝试使用 curl 发送这样的 POST 消息时出错:

curl -X POST -d '{"name": "Foo"}' http://foo.appspot.com/_ah/api/foo/1/endpoint

问题是我没有设置内容类型。如果未在命令行上指定,则使用 Content-Type: application/x-www-form-urlencoded 卷曲 POST。Google 云端点不接受此内容类型。

当我更改 curl 调用以包含内容类型时,它起作用了:

curl -X POST -d '{"name": "Foo"}' --header "Content-Type: application/json" http://foo.appspot.com/_ah/api/foo/1/endpoint
于 2014-01-13T18:59:39.777 回答