2

我想调用 ESHA Research 营养 RE​​ST API。我似乎无法弄清楚如何使用 ESHA REST API 调用多种营养素。到目前为止,我正在调用以下内容,并且只能检索卡路里、蛋白质或其他类型的营养信息。所以我希望有人有一次调用检索所有营养信息的经验。这可能吗?

这就是我调用 TWIX 营养素的方法

http://api.esha.com/analysis?apikey=xxxx&fo=urn:uuid:81d268ac-f1dc-4991-98c1-1b4d3a5006da (返回卡路里,请注意 api 密钥不是 xxxx 而是从 Esha 生成的密钥一旦你注册为开发人员)返回是 JSON 格式。

如果我想称胖,它将是以下 http://api.esha.com/analysis?apikey=xxxx&fo=urn:uuid:81d268ac-f1dc-4991-98c1-1b4d3a5006da&n=urn:uuid:589294dc-3dcc-4b64 -be06-c07e7f65c4bd

我怎样才能打一次电话并获得特定食物 ID 的所有营养物质(如脂肪、卡路里、碳水化合物、维生素等)的回报?我已经研究并查看了一段时间,似乎无法找到答案。

在此先感谢您的帮助。

4

2 回答 2

1

这可能没有多大帮助,但是您可以使用 f0、f1 等传递多种食物。这将为您提供一个综合营养列表(所有食物的营养总和),而不是多个营养列表。我也没有弄清楚,目前通过对每种食物进行单独调用来解决它

于 2012-11-26T04:44:05.817 回答
0

从简要查看他们的文档来看,这看起来是一个设计得很糟糕的 API。话虽如此,您似乎可以通过调用分析食物(HTTP POST)端点来实现这一点。他们的文档使响应看起来像是包含所有已分析营养素的列表。

编辑:我玩弄了他们的 API,但无法让它返回包含多种营养素的响应。我请求的项目可能没有多个结果。虽然,同样有可能 API 被破坏并返回错误数据。您可能需要联系他们进行确认。

这是使用 curl 的示例请求:

curl -v "http://api.esha.com/analysis?apikey=XXXX" -H "Content-Type: application/json" -X POST -d '{ "items": [ { "id": "urn:uuid:eaa21583-13cc-4cd6-b8e1-8a2901cdcdff", "quantity": 0.75, "unit": "urn:uuid:dfad1d25-17ff-4201-bba0-0711e8b88c65" } ] }' | jsonpp
于 2012-11-26T05:00:42.330 回答