如何从ESHA Research API调用多种营养素信息? (apid.esha.com)

时间:2012-11-23 21:42:46

标签: android api http rest httpwebrequest

我想称之为ESHA Research营养REST 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的所有营养素(脂肪,卡路里,碳水化合物,维生素等)? 我已经研究过了一段时间,但似乎无法找到答案。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

这可能没有多大帮助,但你可以使用f0,f1等传递多种食物。这可以获得组合营养素列表(所有食物的营养素总和)反对多种营养素列表。我也没想出来,目前通过为每种食物单独打电话来解决这个问题

答案 1 :(得分:0)

通过简要地查看他们的文档,这看起来是一个非常糟糕的API。话虽如此,看起来您可以通过调用Analyze Foods (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