0

我目前正在开发使用场地服务的应用程序之一。为了向我提出请求,FourSquare我创建了一个帐户并使用OAuthToken为该特定帐户提供的。

根据 FourSquare,除非 Four Square 团队在到期时做出任何更改,否则 oauthtoken 将终生保持不变。因此,除非 API 发生任何变化,否则它不会过期。

我正在使用所需参数将 HTTPRequest 从 .NET 窗口服务发送到“四方”。

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) Forbidden。

2) 远程服务器返回错误:(400) Bad Request。

然而,行为是随机的,它给应用程序带来了问题。

我想知道什么是发送请求的最佳方式,然后是我从申请中获取场地的方法。另外我想知道“oauthtoken”是否最适合我?

如果有人可以帮助我知道上述错误的原因以及如何克服它?

4

1 回答 1

0

一般来说,您可以在此处查看我们的错误消息及其含义:https ://developer.foursquare.com/overview/responses 。当您的某个参数丢失或存在问题时,通常会发生 400。我没有看到您提供的示例 URL 有任何问题,但也许其他的可能有错误?

403 有点棘手,您是否总是调用场所/搜索端点?您对 OAuth 令牌生命周期的理解是正确的。

您当前正在向 Foursquare 发出经过身份验证的请求,这意味着将为 OAuth 令牌所属的用户个性化搜索结果。还有一个替代的无用户请求,它只需要您的应用程序的客户端 ID/秘密,并且不需要您的用户通过 Foursquare 进行身份验证。根据您的应用程序的需求(某些端点需要身份验证),您可能会发现无用户请求是可行的方法。

于 2013-04-23T17:38:42.447 回答