2012-11-23 75 views
2

我想打電話給ESHA Research營養學REST API。我似乎無法弄清楚如何使用ESHA REST API調用多種營養素。到目前爲止,我打電話給以下人員,只能檢索卡路里,蛋白質或其他類型的營養信息。所以我希望有人在一次調用中獲取所有營養信息的經驗。這可能嗎?如何從ESHA Research API調用多種營養信息? (apid.esha.com)

這是我如何調用來檢索TWIX營養

http://api.esha.com/analysis?apikey=xxxx&fo=urn:uuid:81d268ac-f1dc-4991-98c1-1b4d3a5006da (返回卡路里,請注意,API密鑰不是XXXX而是從厄莎生成的密鑰,一旦你作爲開發者註冊)回報是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? 我研究了一下,看了一會兒,似乎無法找到答案。

在此先感謝您的幫助。

回答

1

這可能沒什麼幫助,但你可以通過使用f0,f1等多種食物。這會讓你得到一個合併的營養素清單(所有食物的營養素總和),而不是多個清單的營養素。我還沒有弄明白,目前通過爲每種食物打個電話來解決這個問題。

+0

@twaddington,其實你可以得到多種營養素列表。我知道的兩種方式是通過傳遞逗號分隔的營養素UUID列表來顯示相應的營養素。實際上,我已經將其作爲POST URL本身的查詢字符串來完成,並且無法通過將它傳遞到POST有效內容(它應該)來記住它是否工作。或者,使用查詢參數n = 0,1,2,3等的GET調用也應該起作用。我不確定哪個指標與哪種營養素相對應,因此您必須手動測試。 [This](http://developer.esha.com/files/ESHA_Data_API.html)包含內部文檔/示例。 – Dudboi

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 
+0

需要支付多種營養素。 –