簡體   English   中英

Foursquare API請求有時返回錯誤代碼200

[英]Foursquare api request returns error code 200 sometimes

我正在使用以下代碼來請求Foursquare 場所/附近地點的探索端點:

NSString *key = searchBox.text ? [searchBox.text stringByReplacingOccurrencesOfString:@" " withString:@"%20"] : @"";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYYMMdd"];
NSString* date = [NSString stringWithFormat:@"%@", [dateFormatter stringFromDate:[NSDate date]]];

[dateFormatter release];

NSString *urlString = [NSString stringWithFormat:@"https://api.foursquare.com/v2/venues/explore?ll=%f,%f&query=%@&radius=50000&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&v=%@", myMapView.userLocation.location.coordinate.latitude, myMapView.userLocation.location.coordinate.longitude, key, date];

在大多數情況下,它返回預期的結果,但在其他情況下,它返回錯誤代碼200 文檔中,我可以看到它表示我正在使用不贊成使用的值。 我不明白,如果我過的date引起了問題。 我試圖找出它是否需要特定版本或當前日期。 我在這里做錯了什么?

傳遞給v參數的日期應該是大於20120609的固定日期。 這是您想要的API響應的“版本”,並且您的應用程序能夠解析。 令人20120609是,不贊成使用的200有時僅會回來-如果您傳遞的v參數小於20120609它應該總是回來。

Foursquare偶爾會更改其響應的JSON格式,而v param是您可以防止這些更改的工具。 (要查看示例,請向2011010120140101發出請求,並注意結構的更改)。 您應該定期更新此固定日期,並檢查是否有任何損壞。 有關更多信息,請參閱docs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM