Ответы пользователя по тегу API
  • Как оформить запрос в ABBYY Lingvo API?

    Mark-Centurion
    @Mark-Centurion
    Я понимаю, что прошёл год с момента задания вопроса, но на поиски ответа я сегодня потратил несколько часов и считаю, что стоит им поделиться ибо API от ABBYY хороши но документация к ним отвратительная!

    У меня тоже не сработало самое очевидное решение, но я допёр, что нужно не просто отправить запрос, но с запросом нужно отправить правильные заголовки.

    И так вот мой рабочий пример на PHP:
    //Подготовка заголовков к авторизации
    $header = array();
    $header[] = 'Content-length: 0';
    $header[] = 'Content-type: application/json';
    $header[] = 'Authorization: Basic {Ваш ключ для доступа к API}';
    
    //Авторизация в ABBYY Lingvo API посредством отправки ключа авторизации
    $myCurl = curl_init();
    curl_setopt_array($myCurl, array(
    	CURLOPT_URL => 'https://developers.lingvolive.com/api/v1.1/authenticate',
    	CURLOPT_RETURNTRANSFER => true,
    	CURLOPT_POST => true,
    	CURLOPT_HTTPHEADER => $header
    ));
    $bearer_token = curl_exec($myCurl);
    curl_close($myCurl);
    
    //Модификация заголовков для получения данных
    $header[2] = 'Authorization: Bearer '.$bearer_token;
    
    //Получение словарной статьи
    $myCurl = curl_init();
    curl_setopt_array($myCurl, array(
    	CURLOPT_URL => 'https://developers.lingvolive.com/api/v1/Minicard?text=plum&srcLang=1033&dstLang=1049',
    	CURLOPT_RETURNTRANSFER => true,
    	CURLOPT_HTTPHEADER => $header
    ));
    $response = curl_exec($myCurl);
    curl_close($myCurl);
    
    //Тут я просто вывожу ответ сервера чтобы убедиться, что всё работает.
    echo '<pre>';
    print_r(json_decode($response));
    echo '</pre>';
    Ответ написан
    Комментировать