从Delphi获取oData服务

时间:2012-07-30 12:26:10

标签: delphi odata delphi-xe

如何从Delphi使用oData webservice(我正在尝试与新的Bing Search Azure API进行交互)?在Delphi中几乎没有任何信息可以做到这一点。有一篇文章here但是从Delphi的角度来看它没有多大帮助解释如何使用这样的服务。任何人都可以提供一个简单的例子吗?

1 个答案:

答案 0 :(得分:4)

以下是使用netflix oData服务在Delphi XE中使用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.