我正在尝试为我的PHP网站使用外展API。关于外联,这是他们提到的要求:
邮递https://api.outreach.io/api/v2/prospects
{“data”:{“attributes”:{“firstName”:“Test_3”,“lastName”:“API”},“type”:“prospect”}
在PHP中,我将其转换为以下代码,但它给出了错误“错误请求”。请帮助我我做错了什么,下面代码中的accessToken具有正确的值。
$urlCreateAccount = "https://api.outreach.io/api/v2/prospects";
$attributes = array("firstName"=> "Sally","lastName"=> "Biu");
$paramsCreateAccount = "type=prospect$attributes=".$attributes;
$headr[] = "Authorization:bearer $accessToken";
$curl = curl_init($urlCreateAccount);
curl_setopt($curl, CURLOPT_HTTPHEADER,$headr);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $paramsCreateAccount);
$jsonResponseCreateAccount = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
它期待JSON,所以你需要发布JSON。像这样的东西...
$data = json_encode($data);
$ch = curl_init($host);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $access,'Content-Type: application/json','Content-Length: ' . strlen($data)));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
我真的可以说出代码中的错误。但是试一下这个代码。我已经获取了json数据扩展api文档的示例
$jsonData = "{
"data": {
"type": "prospect",
"attributes": {
"emails": ["sally.smith@acme.example.com"],
"firstName": "Sally",
"title": "CEO"
},
"relationships": {
"account": {
"data": {
"type": "account",
"id": 1
}
}
}
}
}";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.outreach.io/api/v2/prospects",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS =>$jsonData,
CURLOPT_HTTPHEADER => array(
"Content-Type: application/vnd.api+json",
"Authorization: Bearer <Access Token>",
"Content-Type: text/plain"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
希望你会得到你的结果。你也可以使用postman首先测试api,从那里你可以从所需的语言中取出代码
问题内容: 我目前在PHP上大量使用Curl。每次获取大约100页的结果需要花费大量时间。对于每个请求,我都使用这样的代码 我有什么选择可以加快速度? 我应该如何使用等? 问题答案: 重用相同的cURL处理程序($ ch),而无需运行curl_close。这将加快速度。 使用curl_multi_init并行运行进程。这会产生巨大的影响。
我试图使用Postman而不是Web服务的API文档提供的终端命令来请求数据。 curl命令如下: 我怎么能在邮递员内申请这个?我尝试添加和作为请求参数,但这不起作用
有谁能指导我用PHP编码的方法吗? <?xml version=“1.0”encoding=“UTF-8”?> string 响应 <?xml version=“1.0”encoding=“UTF-8”?> 我如何获得关于请求/响应的POST,Host,Content-Type,Content-Length,SOAPAction?
我向我的flask应用所在的服务器发出了python post请求。它运行良好,我能够获得所需的数据。 但我想用POSTMAN测试API。我无法做到这一点,因为在某种程度上我对邮递员并不熟悉。 下面是我的python代码。 我正在努力解决这样一个问题:我试图发布到服务器上的数据和文件应该是原始json还是表单数据,或者是正文的x-www-form-urlencoded部分。还有实际的结构应该是什么
我试图隐藏一个卷曲来吞咽请求,这里是卷曲请求。 以下是JSON部分: