Использование API в PHP
Ниже приведен ряд примеров обращения к API, реализованных на языке PHP. Результат работы примеров можно увидеть здесь.
<?php
$config = array(
"token" => "bb76030cs4fsdmdcdf237f17e5cc3h8125323csc",
"app_token" => "app5d90ce87926d3cax5b96faaaf1ae459c2e6cs2aj",
);
$urlParamsSet = array(
array(
"app_token" => $config["app_token"],
"deputy" => 99100142, // предложенные депутатом ГД Жириновским В.В.
"status" => 8, // отклоненные
"sort" => "date", // отсортированы по дате рассмотрения (по убыванию)
"limit" => 5, // вывести первые 5 найденных законопроектов
),
array(
"app_token" => $config["app_token"],
"name" => "полиция", // законопроекты о полиции
"sort" => "last_event_date", // отсортированы по дате последнего события (по убыванию)
"limit" => 5, // вывести первые 5 найденных законопроектов
),
array(
"app_token" => $config["app_token"],
"federal_subject" => "6230500", // внесенные президентом
"search_mode" => 3, // фильтрация по ожидаемому событию
"instance" => 176, // рассмотрение комитетом ГД
"sort" => "last_event_date", // отсортированы по дате последнего события (по убыванию)
"limit" => 5, // вывести первые 5 найденных законопроектов
)
);
$jsonResults = array();
foreach ($urlParamsSet as $urlParams)
{
$url = "http://api.duma.gov.ru/api/" . $config["token"] . "/search.json?" . http_build_query($urlParams);
$content = file_get_contents($url);
$jsonResult = json_decode($content);
if (!isset($jsonResult1->laws) && isset($jsonResult1->code))
{
throw new Exception("Ошибка обращения к API. #" . $jsonResult->code . ": " . $jsonResult->text);
}
$jsonResults []= $jsonResult;
}
foreach ($jsonResults as $jsonResult){
?>
<h2><b>Ищем:</b> <?php echo $jsonResult->wording ?></h2>
<p class="founded">
<b>Найдено: </b><?php echo $jsonResult->count ?>
</p>
<h3>Результат поиска:</h3>
<ul>
<?php foreach($jsonResult->laws as &$law): ?>
<li><?php echo "<a href=\"" . $law->url . "\">" . $law->number . "</a>. " . $law->name ?> <i>(внесен на рассмотрение <?php echo $law->introductionDate ?>)</i></li>
<?php endforeach ?>
</ul>
<?php
}