【发布时间】:2017-09-05 03:20:28
【问题描述】:
我正在使用一个外部 api,我已经获得了与该 api 相关的以下详细信息
API KEY (Mandatory Header) :- apikey : "xxxxx"
Stage Server Base Url :- https://example.com
To add Details API :- POST(/student/{student_id})
我打算做的是:
我将通过 codeigniter 表单从用户那里收集数据 然后将数据转发到上面的api并得到响应 api,因此如果它成功,那么将继续执行 操作,否则需要显示错误消息
但是出于测试目的,我使用静态数组并尝试将其发送到 api。
实际发生的情况是我得到一个空白结果,因此不确定它是否有效。
以下是我的代码
<?php
$apiKey = 'xxxx';
$url = 'https://www.example.com';
$data = array("name"=> "ABC","location"=> "loc","class"=> 'tenth',"area"=> "area");
$ch = curl_init( $url );
$payload = json_encode( $data );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
$headers= curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json','Authorization: ' . $apiKey));
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$result = curl_exec($ch);
curl_close($ch);
echo "<pre>$result</pre>";
?>
PS:我是 api 和 curl 的新手,因此不胜感激
【问题讨论】:
-
响应状态码是什么?您确定要通过
Authorization标头发送 API 密钥吗?通常,该特定标头包含一个授权方案,如Basic或Bearer -
如果您是 api 新手,请使用 GuzzleHttp。这个库将解决你的大部分问题。 docs.guzzlephp.org
-
@Phil 我没有得到任何回应,我无法弄清楚我错在哪里
-
做一个 print_r($result);
-
@Akin 获取木板页面
标签: php json codeigniter api curl