401未经授权使用Guzzle但是从curl开始工作

时间:2017-06-13 03:33:14

标签: php guzzle

我正在尝试在InfusionSoft帐户上获取订单数据。我可以使用命令行来完成它,但Guzzle代码给了我401 Unathorized。我想我做错了什么并且无法正确传递参数。有人可以帮忙吗?

以下是命令行的作用:

curl -G --data "access_token=abcdefgh12345678" https://api.infusionsoft.com/crm/rest/v1/orders?limit=1&offset=100&order_by=id

这是来自PHP的(假设的)等效代码:

$token = 'abcdefgh12345678';
$requestBody = array('access_token' => $token);
$url = 'https://api.infusionsoft.com/crm/rest/v1/orders?limit=1&offset=100&order_by=id';
$client = new \GuzzleHttp\Client();

$response = $client->request('GET', $url, array(
    'form_params' => $requestBody
));

$response = (string) $response->getBody();

1 个答案:

答案 0 :(得分:1)

您正在发送GET请求,而GET请求不能包含正文。

curl根据请求方法使用--data,因此对于GET,它将访问令牌作为GET参数添加到URL。你也应该这样做。