Как вызвать сторонний API с контроллера? Магенто 2
Я создал пользовательский модуль. Его административные таблицы с функциями CRUD. Я помещаю новую кнопку в сетку с помощью XML-файла списка Ui_component. Когда эта кнопка нажата, я хочу вызвать сторонний API для загрузки данных в текущую таблицу.
Это код кнопки:
<item name="refresh" xsi:type="array">
<item name="name" xsi:type="string">add</item>
<item name="label" xsi:type="string" translate="true">refresh</item>
<item name="class" xsi:type="string">primary</item>
<item name="url" xsi:type="string">*/*/refreshAction</item>
</item>
Контроллер преломления - это то место, где мне нужна помощь с кодом для вызова API. На данный момент я просто хочу повторить ответ, как только я получу вызов API для возврата успешный ответ Я буду иметь дело с фактическим сохранением данных в таблице. Код, который у меня сейчас есть, возвращающий 500 внутренних ошибок сервера, выглядит следующим образом:
public function execute()
{
$this->_curl->get('https://online.jil.com/api/index.aspx?action=GetAllDIDs');
$response = $this->_curl->getBody();
echo $response;
}
1 answers
Я вызываю Google Map API для получения широты и длительности конкретного параметра местоположения
Я использовал этот код в контроллере
public function execute()
{
$url ="https://maps.googleapis.com/maps/api/geocode/json?address=%27White+House,+Pennsylvania+Avenue+Northwest,+Washington,+DC,+United+States%27&sensor=true_or_false&key=AIzaSyA28OnwaqgoNtdbtCBAvfD6wUJnvzBrroE";
$geocodeFromAddr = file_get_contents($url);
$output = json_decode($geocodeFromAddr);
print_r($output);
}
Примечание: Ключ API генерируется для определенного домена
Я Надеюсь, Что Это Поможет Вам