laravel API调用中的Guzzle HTTP不返回预期的响应

时间:2018-01-02 14:17:54

标签: php laravel api http guzzle

我正在尝试GET请求获取带有Guzzle HTTP的email_token,如下所示:

$email = $customer['attributes']['Email'];

    $client = new Client();
    $res = $client->request('GET', 'https://www.example.com/apps/api/Services/Email/Opting', [
        'email' => $email
    ]);
    dd($res->getBody());

响应返回200 / OK,但我没有按预期收到email_token。我正在处理的稀疏API文档提供了一个非常相似的示例,并声明预期响应的内容应如下所示:

{
    "email": "test@example.com",
    "marketing": true,
    "promotional": true,
    "news": true,
    "feedback": true,
    "account_related": true,
    "token": "eyJpdiI6Ik9tNlFwbEorbjNnK1FsNnFZb1ZtaFE9PSIsInZhbHVlIjoibGNheWpDR0Z6eWpcL1VCbjdsUXZCS0lzRURBZTIzMVc5ZXRTamQrd1dQTFE9IiwibWFjIjoiYTEwYTM2ODU0MmQzMTY5NGIwNWFhOWFjM2ZiZTBkMzkzOWMyY2VkYTMzNjk5ZDYyOTE0OGY2YjBhNGNkYjk4NyJ9"
}

一旦我获得了令牌,我就需要制作一个带有更多要求的POST(一个是email_token),以便自动化客户退出邮件列表的能力。有关为什么我的回复会这样回来的想法?

Screenshot of dd($res);

Screenshot of dd($res->getBody());

1 个答案:

答案 0 :(得分:1)

为了获得响应有效负载,您应该这样做:

prod

获取状态:

$response = $res->getBody()->getContents();

更多文档: Guzzle