首次尝试使用API​​时遇到麻烦

时间:2019-05-08 06:57:18

标签: php json http get request

我正在尝试首次使用API​​。我的目标(我认为)是向API(http://www.omdbapi.com/)发出GET请求,因此它返回一个包含特定电影信息的JSON对象,但是我不确定如何使用PHP来完成此操作。我从网站上获得了一个密钥,一个将请求发送到的URL,我需要传递一个参数(IMDB电影ID)。

我尝试过google,并在此处查看了相关内容,但我找到了此帖子Call a REST API in PHP,但是我对如何继续感到困惑。感谢上一篇文章和我在网上找到的博客文章( https://www.weichieprojects.com/blog/curl-api-calls-with-php/)到目前为止,我已经有了这段代码,但是老实说,我在将它们拼凑在一起时遇到了麻烦,我希望有人可以指出正确的方向。

<?php
function callAPI($method, $url, $data){
   $curl = curl_init();

   switch ($method){
      case "POST":
         curl_setopt($curl, CURLOPT_POST, 1);
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         break;
      case "PUT":
         curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
         if ($data)
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         break;
      default:
         if ($data)
            $url = sprintf("%s?%s", $url, http_build_query($data));
   }

   // OPTIONS:
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array(
      'APIKEY: 111111111111111111111',
      'Content-Type: application/json',
   ));
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

   // EXECUTE:
   $result = curl_exec($curl);
   if(!$result){die("Connection Failure");}
   curl_close($curl);
   return $result;
}
?>

<?
$get_data = callAPI('GET', 'https://api.example.com/get_url/'.$user['User']['customer_id'], false);
$response = json_decode($get_data, true);
$errors = $response['response']['errors'];
$data = $response['response']['data'][0];
?>

如果有人能指出正确的方向或分享您认为很好的解释资源,我将不胜感激。另外,我刚刚下载了“邮递员”,并且能够从那里获取信息,但是我想知道如何使用PHP来完成此任务。预先谢谢你。

0 个答案:

没有答案