2012-12-18 74 views
1

我想添加一個新的簽入,但我無法弄清楚Foursquare是如何接收參數的。我試圖在體內的URL編碼的字符串:POST到foursquare API的示例?

shout=test&venueId=4a663032f964a5202fc81fe3 

我試圖在體內的JSON字符串(使用應用程序/ json的Content-Type頭):

{"shout":"test","venueId":"4a4a9f71f964a52004ac1fe3"} 

但是,我總是得到錯誤迴應:

meta =  { 
    code = 400; 
    errorDetail = "Must provide parameter venueId"; 
    errorType = other; 
}; 

POST到他們的checkins/add端點的正確方法是什麼?

+0

我在他們的文檔上看到,有時該字段被稱爲VENUE_ID和其他時間venueId。你嘗試過其他嗎? – theabraham

回答

2

venueId必須作爲POST參數發送。確切的做法取決於您使用的庫/語言。

例如,要做到這一點在命令行上使用curl,你會

curl https://api.foursquare.com/v2/checkins/add -F venueId=<the id> -F oauth_token=<the token> 
+0

早些時候Foursquare有一些愚蠢的事情現在已經修復。我有另一位開發人員證實了這種愚蠢行爲的愚蠢和結論。這是一個後置參數。 –

0

我得到這個錯誤使用。

我的問題的修補程序將包括HTTP標頭的內容類型就像這樣:Content-Type: application/x-www-form-urlencoded

之後,我用普通帖子的數據是這樣的:

文本=「T」 & URL = XXX & v = 20130224

我注意到版本和url不能被引用,並且url需要被HTML編碼。