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

问题描述 投票:0回答:1

我正在尝试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": "[email protected]",
    "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());

php laravel api http guzzle
1个回答
1
投票

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

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

要获得状态:

$responseStatus = $res->getStatusCode();

更多文档:Guzzle

© www.soinside.com 2019 - 2024. All rights reserved.