Foursquare菜单Endpoint返回错误代码400错误请求

时间:2015-08-06 08:42:48

标签: json foursquare

我使用Foursquare的API检索场地阵列(venuesToSearch)中每个场地的菜单,但我的代码不会向控制台打印任何内容。通过将链接粘贴到JSON格式化程序中,我能够发现我收到400错误请求错误而不是if语句所要求的200错误。 The official API endpoint表示该链接的格式必须为:

https://api.foursquare.com/v2/venues/VENUE_ID/menu

其中VENUE_ID是包含特定ID的字符串。此外,由于它是一个无用户端点,因此用户无需使用Foursquare帐户登录即可使用该应用程序;相反,我只需要提供客户端ID和客户端密钥,这两者都被声明为类级别变量,并使用& client_id字符串附加到URL。

for venue in venuesToSearch {

        let urlString = "https://api.foursquare.com/v2/venues/
\(venue)/menu&client_id=\(CLIENT_ID)&client_secret=\(CLIENT_SECRET)&v=20150729"

if let url = NSURL(string: urlString) {
            if let data = NSData(contentsOfURL: url, options: .allZeros, error: nil) {
                let json = JSON(data: data)
                if json["meta"]["code"].intValue == 200 {

/* Any code after this will not execute because of the error code 400 instead of 200 */

我是否格式化了网址错误?或者我之所以完全得到400结果呢?

1 个答案:

答案 0 :(得分:0)

正确的不是“菜单&”但是“菜单?”,我想。请尝试以下网址:

let urlString = "https://api.foursquare.com/v2/venues/\(venue)/menu?client_id=\(CLIENT_ID)&client_secret=\(CLIENT_SECRET)&v=20150729"