delphi - 使用 Delphi 的 oData 服务

标签 delphi odata delphi-xe

如何使用来自 Delphi 的 oData Web 服务(我正在尝试与新的 Bing 搜索 Azure API 进行交互)? Delphi 中几乎没有关于这样做的信息。有帖子here但从 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.

关于delphi - 使用 Delphi 的 oData 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11721549/

相关文章:

delphi - 向 TDBGrid 添加页脚

android - Delphi Android 内存泄漏(或其他减速)

WCF DataService,如何避免 POCO 中的 [DataServiceKey]

delphi - 获取CPU总使用率百分比

delphi - Delphi TBitBtn白色层

delphi - 循环遍历 IContextMenu

java - 审计实体的 Dynamics 365 RetrieveAttributeChangeHistory OData 函数

.net - kendo ui 网格过滤器不区分大小写

从delphi 7到xe的字符串编码错误

delphi - 如何在Delphi中有效地使用接口(interface)进行内存管理