Возникли проблемы при попытке использовать API в первый раз - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь использовать API в первый раз. Моя цель (я думаю) состоит в том, чтобы сделать запрос GET к API (http://www.omdbapi.com/),), чтобы он возвращал объект JSON, который содержит информацию о конкретном фильме, но я не уверен, как это сделать с помощью PHP. Я получил ключ от сайта, URL для отправки запроса, и мне нужно передать один аргумент (идентификатор фильма IMDB).

Я попробовал Google и посмотрел здесь на SO, и я нашел это сообщение - Вызовите REST API в 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. Заранее спасибо.

...