我该如何在Delphi中使用oData webservice(我正在尝试与新的Bing Search Azure API交互)?几乎没有有关在Delphi中执行此操作的信息。这里有一个帖子(链接),但它并没有很好地解释从Delphi角度如何使用此类服务。是否有人能够提供一个简单的示例?
以下是一个使用 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.