我想把ESHA研究营养素REST称为API。我似乎不知道如何使用ESHARESTneneneba API调用多种营养素。到目前为止,我只调用以下内容,并且只能检索卡路里、蛋白质或其他类型的营养信息。所以我希望有人有经验一个电话就能检索到所有的营养信息。这可能吗?
这就是我调用以检索TWIX营养的方式
http://api.esha.com/analysis?apikey=xxxx&fo=urn:uuid:81d268ac-f1dc-4991-98c1b4d3a5006da(返回卡路里,请注意,api密钥不是xxxx,而是在您注册成为开发人员后从Esha生成的密钥)返回的是JSON格式。
如果我想称之为胖,那就如下http://api.esha.com/analysis?apikey=xxxx&fo=urn:uuid:81d268ac-f1dc-4991-98c1b4d3a5006da&n=urn:uuid:589294dc-3dcc-4b64-be06-c07e7f65c4bd
我如何打一次电话,就可以获得特定食物ID的所有营养素(如脂肪、卡路里、碳水化合物、维生素等)的回报?我研究了一段时间,似乎找不到答案。
提前感谢您的帮助。
这可能没有太大帮助,但你可以使用f0、f1等传递多种食物。这会为你提供一个组合营养素列表(所有食物的营养素总和),而不是多个营养素列表。我也没有弄清楚,目前我通过为每种食物打单独的电话来解决这个问题
从他们的文档来看,这似乎是一个设计非常糟糕的API。话虽如此,您似乎可以通过调用Analyze Foods(HTTPPOST)端点来实现这一点。他们的文档使其看起来像是响应将包括所有分析营养素的列表。
编辑:我玩了他们的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