2012-12-18 103 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编码。