Использовать службу OData от Delphi

Как я могу использовать веб-сервис oData из Delphi (я пытаюсь взаимодействовать с новым API Bing Search Azure)? В Delphi почти нет информации для этого. Здесь есть сообщение , но это не помогает объяснить, как использовать такой сервис с точки зрения Delphi. Может ли кто-нибудь представить простой пример?

Ответ 1

Вот очень простой пример использования службы oData в Delphi XE с помощью службы netflix oData:

program oDataDemo;

{$APPTYPE CONSOLE}

uses
  SysUtils, msxml, Variants, Activex;

var
  httpRequest: IXMLHttpRequest;
  oDataServiceURI: String;
  oDataFilter: String;
  xmlResults: String;
begin
  try
    oDataServiceURI := 'http://odata.netflix.com/v2/Catalog/Titles()';
    oDataFilter := '?$top=10';
    coinitialize(nil);
    httpRequest := CoXMLHTTP.Create;
    httpRequest.open('GET', UTF8Encode(oDataServiceURI + oDataFilter), false, EmptyParam, EmptyParam);
    httpRequest.send(EmptyParam);
    xmlResults := httpRequest.responseText;
    WriteLn(xmlResults);

  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.