我目前正在开发一个利用场地服务的应用程序。为了向FourSquare
发出请求,我创建了其中一个帐户并使用为该特定帐户提供的OAuthToken
。
根据FourSquare的说法,除非Four Square团队有任何更改到期,否则oauthtoken将终身保持不变。因此,除非API发生任何变化,否则它不会过期。
我将.NET窗口服务的HTTPRequest发送到带有所需参数的“四方”。
https://api.foursquare.com/v2/venues/search?ll=37.785835,-122.406418&intent=browse&radius=5&limit=50&oauth_token=[OAUTHTOKEN HERE]&&v=20130422
在某些情况下,应用程序的行为很奇怪,因为它返回响应如下:
1)远程服务器返回错误:(403)禁止。
2)远程服务器返回错误:(400)Bad Request。
但是,行为是随机的,它会给应用程序带来问题。
我想知道根据方法发送请求的最佳方式是什么,以便我从应用程序中获取场地。另外我想知道“oauthtoken”对我来说是否最好?
如果有人能帮助我知道上述错误的原因是什么,以及如何克服它?
答案 0 :(得分:0)
通常,您可以在此处查看我们的错误消息及其含义:https://developer.foursquare.com/overview/responses。当您的某个参数丢失或存在问题时,通常会发生400。我没有看到您提供的示例网址有任何问题,但其他人可能会有错误吗?
403有点棘手,你总是打电话给场地/搜索终点吗?您对OAuth令牌的生命周期的理解是正确的。
您目前正在向Foursquare发出身份验证请求,这意味着搜索结果将针对OAuth令牌所属的用户进行个性化。还有一个替代userless request只需要您的应用的客户端ID /机密,并且不要求您的用户通过Foursquare进行身份验证。根据应用程序的需要(某些端点需要身份验证),您可能会发现无用户请求是可行的方法。