ВикористанняMicrosoft Bing API у Delphi

За допомогою Bing API, Microsoft надає набір простих у використанні служб, які можуть бути корисними як для розробки Delphi веб-застосунків, так і для Win32 додатків. Стартовою точкою для того, щоб побачити можливості Bing API, є http://www.bing.com/developers . Перша річ, яку потрібно зробити для початку роботи з Bing API – отримати Bing AppID. Для цього скористайтесь URL-адресою: http://www.bing.com/developers/createapp.aspx .

В основному застосовувати Bing API можна безкоштовно, за умови дотримання правил його використання, що висуваються Microsoft, які, на щастя, досить гнучкі.

Після отримання Bing AppID, ви можете розпочати роботу. Найпростішим способом використання Bing API є застосування запиту HTTP GET, що повертає як результат XML файл. Bing API надає доступ до декількох пошукових типів, які позначаються як SourceType. У v2.0 API доступні такі пошукові типи:

Використовувати Bing API у Delphi можна надсилаючи серверу api.bing.net HTTP GET запит наступної структури:

&Sources=YourSourceType(s) + more options

Цей HTTP GET запит поверне XML-файл, що містить результат. Delphi 2009 надає всі необхідні компоненти для того, щоб почати використовувати API. Ви можете використовувати Indy TidHTTP компонент для виконання HTTP GET запиту та TXMLDocument для парсингу результуючого XML файлу. Щоб полегшити собі життя, ми використовуємо компонент TWebCopy для отримання результуючого файлу XML і TXMLDocument для парсингу результату.

Приклад 1. Web-пошук.

Web пошук виконується з використанням 'web' SourceType. Типовий запит має такий вигляд:

Опціонально ми можемо встановити запитуване число результатів і усунення, тобто.

Для того щобшвидко отримати результуючий XML файл, ми використовуємо TWebCopy наступним чином:

У цьому фрагменті коду ми просто отримали текст із описом знайдених Bing'ом URL. Ми також можемо отримати самі URL, заголовки сторінок, час їх створення…

Приклад 2. Переклад тесту з англійської на німецьку.

Bing API також надає сервіс перекладу тексту з однієї мови іншою. HTTP запит дуже нагадує запит Web пошуку. Нам потрібно буде вказати Translation як SourceType і задати опції вихідної мови та мови перекладу. Ми включили все це у просту для використання функцію.

Цей приклад коду переведе «Hello world» з англійської на німецьку («hallo Welt»).

Приклад 3. Виправлення орфографічних помилок.

Bing API може запропонувати нам перевірку англійської орфографії. Знову ж таки, інтерфейс дуже простий, тобто. звичайний HTTP GET запит із SourceType Spell. Ми також включили цей API у Delphi функцію для простоти використання.

Приклад 4. Отримання зображення з веб.

Для кількох існуючих цікавіших SourceType'ів, таких як News, InstantAnswer, Video, концепція залишається ідентичною. В останньому прикладі ми використовуємо Bing API для отримання першого відповідного запиту зображення з web і відображення його в додатку. Ми спростимо цю операцію за допомогою TMS TWebImage, який виконає всю роботу із завантаження та відображення результуючого зображення. Отриманий код наведено нижче:

Наведений фрагмент коду відображає чудовий Mercedes SL gullwing (з дверима, що відкриваються нагору) в компоненті TWebImage, розміщеному на формі. Ми сподіваємося, що ці приклади надихнуть вас на створення ряду цікавих функцій у Delphi Win32 або IntraWeb додатках.