Как вызвать сторонний 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;
}
Author: poojan sharma, 2019-11-21

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 генерируется для определенного домена

Я Надеюсь, Что Это Поможет Вам

 8
Author: Msquare, 2020-05-05 03:47:20