Google api 当使用HttpRequest作为有效负载类型时,Google云任务总是将HttpMethod设置为GET

Google api 当使用HttpRequest作为有效负载类型时,Google云任务总是将HttpMethod设置为GET,google-api,google-apis-explorer,google-cloud-tasks,Google Api,Google Apis Explorer,Google Cloud Tasks,根据本文档[],应该能够创建类型为“http_request”且“http_method”设置为“POST”的任务,但如果始终使用方法“GET”创建任务,则该行为不是预期的 在使用Python客户机库时出现此问题后,我决定直接尝试API,并检查它是与库有关还是与API本身有关 使用产品文档页面[]中的“trythisapi”,我尝试使用http_请求和app_engine_http_请求类型创建类似的任务,并始终将http_方法设置为POST 如果我这样设置请求主体: { "task": {

根据本文档[],应该能够创建类型为“http_request”且“http_method”设置为“POST”的任务,但如果始终使用方法“GET”创建任务,则该行为不是预期的

在使用Python客户机库时出现此问题后,我决定直接尝试API,并检查它是与库有关还是与API本身有关

使用产品文档页面[]中的“trythisapi”,我尝试使用http_请求和app_engine_http_请求类型创建类似的任务,并始终将http_方法设置为POST

如果我这样设置请求主体:

{
  "task": {
    "appEngineHttpRequest": {
      "httpMethod": "POST",
      "relativeUri": "/test",
      "body": "c2hhbGxvdyBub3c="
    }
  }
}
…任务已创建,方法为POST,如预期的那样。但是,如果我将请求主体设置为:

{
  "task": {
    "httpRequest": {
      "httpMethod": "POST",
      "url": "https://httpstat.us/404",
      "body": "c2hhbGxvdyBub3c="
    }
  }
}
…任务已创建,但使用方法GET而不是POST

以下是我在队列中得到的信息:

我相信这是一个bug,这就是为什么我在这里报告它,并按照支持页面上的建议使用标记GoogleAPI浏览器

不管怎样,如果有人能告诉我我是否做错了什么,或者在此期间是否有任何解决办法,我将非常感激


谢谢

谢谢你的帖子,这是现有云任务UI中的一个bug,我们正在修复这个bug

同时,可以通过运行以下命令来确定任务的正确HTTP方法:

gcloud测试任务描述


上面的命令将显示任务的正确HTTP方法。

我想大声说。。。。如果以上是您的实际请求,我在请求中看不到任何内容。例如,task.httpRequest.body中没有任何内容。这可能是因为环境试图变得智能化,如果您提交一个负载为零的REST请求,那么它将被转换为GET请求?很好,@Kolban。不幸的是,事实并非如此。我也试过传球,但问题依然存在。但为了完整起见,我已经更新了这个问题。非常感谢。嗨@Vinod Ramachandran,这真是个好消息!由于任务实际上是正确创建的,这就解决了我的问题。我应该自己测试它,而不是我刚刚接受了UI中的内容是正确的。。。非常感谢。嗨@Vinod,我发现尸体没有正确通过。我试图记录我传递的任务:``{httpRequest:{httpMethod:'POST',url:'some_random_url',body:'IkhlbGxvLCBXb3JsZCEi'}“``但是,
gcloud beta tasks description
命令给了我这个结果:``createTime:'2019-07-16T15:42:15Z'调度截止日期:600s httpRequest:headers:User Agent:Google Cloud tasks httpMethod:POST url:some_random_url name:task_name scheduleTime:'2019-07-16T15:42:15.429342Z'视图:BASIC``我正在使用
@googlecloud/tasks
1.2.0 npm模块