【问题标题】:How to understand this API specification?如何理解这个 API 规范?
【发布时间】:2017-10-28 05:22:27
【问题描述】:

我是 API 请求的新手,之前只做过一个。

已获得包含此信息的文档:

您必须使用用户名和密钥进行身份验证才能使用 API 执行任何操作。身份验证详细信息必须与每个变量中的其他变量一起传递 请求。

请求是通过 HTTP(S) POST 发送到 https://(URL)。通信采用 JSON 格式,因此请确保您的 HTTP 标头指定“application/json”。对于大多数请求,我们将返回 200(OK)的 HTTP 状态代码,但也可以返回 400(错误请求)或 403(禁止/授权失败)

然后我会看到所有端点的代码示例,例如:

样品申请

{
"request": "GetAvailableServices",
"username": "custTEST_api",
"key": "xxxxxxxxxxxxxxxxxxxxxx"
}

回应

 {
"success": true,

"available_services": {
"IPECX": {
"carrier_name": "TOLL IPEC",
"service_name": "ROAD EXPRESS"
},
"IPECH": {
"carrier_name": "TOLL IPEC",
"service_name": "PRIORITY"
},
"GIBSONX": {
"carrier_name": "GIBSON",
"service_name": "ROAD EXPRESS"
}
},
"error_code": null,
"error_message": null

所以这与我上次进行的 API 集成不同。

我已获得适当的用户名和密钥。

我正在尝试在 PHP 中执行此操作 .. 但不确定如何将上述内容转换为 php 文档。我之前在 curl 中进行了授权以获取 JSON 数据。但就是想不通这个。

如果我可以让一个请求工作,我想我会没事的。

【问题讨论】:

标签: php api http


【解决方案1】:

我就是这样做的。

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.com.au/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\r\n\"request\": 
\"GetAvailableServices\",\r\n\"username\": \"APIUSERNAME\",\r\n\"key\": 
\"APIKEY\"\r\n}",
  CURLOPT_HTTPHEADER => array(
  "cache-control: no-cache",
  "content-type: application/json",
  "key: \"APIKEY\"",
  "request: \"GetAvailableServices\"",
  "username: \"INNOVATIVEAPI\""
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
 echo "cURL Error #:" . $err;
} else {
echo $response;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 2013-05-10
    • 2017-06-23
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多