我正在使用Laravel 5.2
处理Guzzle 6.2
,我有这个CURL请求:
curl -X POST "https://api.lifebot.fr/letters" \
-u "test_12345678901234567890:" \
-d '{
"description": "Demo Letter 1",
"to": {
"name": "LIFEBOT",
"address_line1": "30 rue de la république",
"address_city": "Paris",
"address_postalcode": "75015",
"address_country": "France"
},
"color" : "color",
"postage_type" : "prioritaire",
"from": {
"name": "LIFEBOT",
"address_line1": "30 rue de la république",
"address_city": "Paris",
"address_postalcode": "75015",
"address_country": "France"
},
"source_file": "<html style=\"padding-top: 3px; margin: 0.5px;\">Lettre HTML for {{name}}<\/html>",
"source_file_type": "html",
"variables" : {
"name" : "Lifebot"
}
}'
如果KI使用终端进行测试,此请求就可以。
因此,params -u是我的API密钥,-d是要发送到API的数据。 我怎么能用Guzzle转换它?
我尝试过类似的事情:
$result = $client->request('GET',
'https://api.lifebot.fr/', [
'u' => 'test_12345678901234567890'
]);
是什么语法与Guzzle一起添加我的param -u和我的param -d?
答案 0 :(得分:1)
我会说你应该继续使用相同的请求类型(例如,POST
而不是GET
)。关于curl -u
param,这是身份验证参数,因此您可以使用设置为apiKey和null密码的用户名转换为auth
。 Curl -d
param只是post请求中发送的正文内容。所以我相信它会像下面那样:
$client->request('POST',
'https://api.lifebot.fr/',
[
'auth' = [ 'test_12345678901234567890', '' ],
'body' => '{
"description": "Demo Letter 1",
...
"name" : "Lifebot"
}
}'
]);