【问题标题】:guzzle 6 post does not workguzzle 6 帖子不起作用
【发布时间】:2019-01-21 14:08:06
【问题描述】:

我正在尝试提交包含 JSON 内容的帖子。我总是收到这条消息:

"客户端 错误:POST https://sandbox-api-ca.metrc.com//strains/v1/create?licenseNumber=CML17-0000001 导致400 Bad Request 响应:{“消息”:“没有数据 已提交。"}"

(所有密钥和许可证号都是沙箱。我稍微更改了密钥,所以验证不起作用。)

这是我的代码

 public function metrc()
    {
        $client = new Client();
        $url = 'https://sandbox-api-ca.metrc.com//strains/v1/create?licenseNumber=CML17-0000001';

        $request = $client->post($url, [
            'headers' => ['Content-Type' => 'application/json'],
            'json' => ['name' => "Spring Hill Kush"],
            'auth' => ['kH-qsC1oJPzQnyWMrXjw0EQh812jHOX52ALfUIm-dyE3Wy0h', 'fusVbe4Yv6W1DGNuxKNhByXU6RO6jSUPcbRCoRDD98VNXc4D'],

        ]);
    }

【问题讨论】:

  • API Docs 状态您需要使用Name 键提交对象数组。您现在只是发送其中一个对象。也许添加额外的数组会使您的请求有效:'json' => [['name' => "Spring Hill Kush"]]

标签: guzzle guzzle6


【解决方案1】:

您的代码是正确的,它应该可以按预期工作。似乎问题出在服务器端。可能是POST请求的格式不对?

顺便说一句,'headers' => ['Content-Type' => 'application/json'] 是不必要的,当您使用 json 选项时,Guzzle 会自动设置标题。

【讨论】:

    猜你喜欢
    • 2015-08-31
    • 2016-03-08
    • 2018-12-15
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多