Foursquare API错误代码410

时间:2014-02-02 13:12:02

标签: php api oauth foursquare

直到今天我一直在使用的代码在没有完成任何操作的情况下开始失败。我收到401错误代码。可能有什么问题?

  

致命错误:未捕获的异常'EpiFoursquareException',消息'{“meta”:{“code”:410,“errorType”:“param_error”,“errorDetail”:“Foursquare API不再支持未通过的请求在版本参数中。有关详细信息,请参阅https://developer.foursquare.com/overview/versioning“},

我的代码:http://pastebin.com/VwmUrfMX

4 个答案:

答案 0 :(得分:3)

这只是假设您正在进行场地搜索。您需要以当前日期格式(YYYYMMDD)传递版本号。

例如:

https://api.foursquare.com/v2/venues/search?ll=40.7,-74&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&v=YYYYMMDD

我希望它可以帮助你:)

答案 1 :(得分:1)

我不知道foursquare API,但我想它可能必须按字面意思收到您收到的错误

  

Foursquare API不再支持未传递版本参数的请求。

所以,如果我不是非常错,你只需要使用新版本from git更新EpiFoursquare.php,这个版本似乎与最后一次提交一样正确:

  

meza 3个月前'添加了新的api版本支持'

答案 2 :(得分:1)

您需要添加参数v,该参数代表所需的API版本。

https://developer.foursquare.com/docs/api/configuration/versioning

  

版本控制由v参数控制,该参数是表示您希望Foursquare为其提供API的“版本”的日期。

     

所有API请求都需要一个version参数。这使开发人员可以控制调用持续更新的API的时间段。为了及时了解最新更改,我们建议您尽可能多地更新您的版本。

https://api.foursquare.com/v2/venues/search
  ?client_id=CLIENT_ID
  &client_secret=CLIENT_SECRET
  &ll=40.7,-74
  &query=sushi
  &v=YYYYMMDD

答案 3 :(得分:0)

我得到了解决方案,只需再次验证链接

场地详细信息的代码

public static  string  GenerateURL(double latitude, double longitude)
{
    return string.Format(
        Constants.VENUE_SEARCH,
        latitude,
        longitude,
        Constants.CLIENT_ID,
        Constants.CLIENT_SECRET,
        DateTime.Now.ToString("yyyyMMdd")
    );
}

并且api的链接为:

public const string VENUE_SEARCH = "https://api.foursquare.com/v2/venues/search?ll={0},{1}&client_id={2}&client_secret={3}&v={4}";