2015-12-17 33 views
2

我試用了HERE Maps REST API的-Custom Location Extension並且遇到問題。有人提到,一個POST請求,利用走廊搜索使用座標爲自定義Locationscan用來代替GET要求的,如果我要提交一個請求,一個大座標集,但例如POST要求是不是在documentation如何發送自定義位置擴展的POST請求

我試圖找出如何提交POST請求,這是我在多大程度上得到:

請求:

POST /v1/search/corridor HTTP/1.1 
Host: customlocation.cit.api.here.com 

?app_id={YOUR_APP_ID} 
&app_code={YOUR_APP_CODE} 
&route=52.51978,13.388211, 
52.5198326,13.3882084, 
52.5198402,13.3883495, 
52.5147705,13.3891602, 
52.514758,13.389155 
&radius=100 
&layerId=30 

響應:

{ 
    "message": "Required parameters have not been provided", 
    "status": "400 Bad Request", 
    "error": "Required String parameter 'route' is not present", 
    "targetLayerId": null 
} 

注意事項:

  • 我寫在這裏使用HTTP格式
  • 這個要求的文件在同一GET請求,我只是想通過查詢參數移動到身體和發送使用POST請求將其轉換爲POST請求。
  • 身體數據類型設置爲RAW TEXT

編輯: (進一步審理中)

我也試過所有的查詢參數從身體移動到URL除了route

POST /v1/search/corridor ?app_id=Qk8YkRrHMbbbpkVipwIZ 
&app_code=tYSXrAAHGEOcUB_cxbPQSA&radius=100&layerId=852 HTTP/1.1 

route=52.51978,13.388211, 52.5198326,13.3882084, 
52.5198402,13.3883495, 
52.5147705,13.3891602, 
52.514758,13.389155 

響應: { 「消息」: 「所需的參數尚未提供」, 「狀態」: 「400錯誤的請求」, 「錯誤」:「String類型,必需參數 '路線' 不是呈現」, ‘targetLayerId’:空 }

回答

1

我戳在這一點,並能夠通過從查詢字符串除去route併發送它作爲表單鍵/值對經由POST ING得到響應。我使用了演示憑據,並使用Chrome插件「郵差」進行測試。我的帖子的網址如下:

https://customlocation.cit.api.here.com/v1/search/corridor?layerId=30&radius=100&app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg

,然後我設置任何「路線」,然後的form-datax-www-form-urlencoded鍵的值是座標的字符串。然後它成功回覆。我嘗試將任何有效載荷作爲原始文本時遇到了與您提到的相同的錯誤。

事情我不知道:有沒有對錶格數據值的一些限制?

祝你好運。我不同意,官方文檔是相當輕的POST例子,特別是因爲他們明確地表明,作爲發送大的有效載荷的方法。

+0

這對我很好。謝謝! –