1

我们正在尝试实现回复功能: https ://developer.foursquare.com/docs/checkins/reply

当我们执行下面的代码时,我们收到“HTTP Error 400: Bad Request”。我已验证 checkinId 和 oauth 令牌是有效的。(我刚刚从foursquare 的测试控制台发送到我们服务器的'checkin' 数据结构中提取了值)。

checkinId="508XXXXXXXXXXXXXXXXXXX"
oauth="123456789877655ADGHJETJNKK"
data = {"CHECKIN_ID":checkinId,
        "text":"Hello World!",
        "url":"https://ourwebsite.com",
        "contentId":"12345",
   }

postUrl = "https://api.foursquare.com/v2/checkins/"+str(checkinId)+"/reply?oauth_token="+oauth

data = urllib.urlencode(data)
req = urllib2.Request(url=postUrl,data=data)
resp = urllib2.urlopen(req)
print resp.read()

任何建议都非常感谢!

4

2 回答 2

0

我得到了那个错误。

我的问题的解决方法是包含这样的 HTTP 标头内容类型:Content-Type: application/x-www-form-urlencoded

之后,我使用了这样的普通帖子数据:

text="t"&url=xxx&v=20130224

我注意到版本和 url 不能被引用,并且 url 需要进行 HTML 编码。

于 2013-02-24T14:58:26.213 回答
0

尝试将 oauth_token 包含在您的数据字典中,而不是直接包含在 url 中。还可以尝试删除 CHECKIN_ID。如果失败,您应该发送电子邮件至 api@foursquare.com 并附上您的 oauth_token 以查看我们是否可以通过这种方式诊断问题。

于 2012-10-26T20:27:21.673 回答