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

Foursquare Menu Endpoint returning error code 400 bad request

我正在使用 Foursquare 的 API 检索场地数组 (venuesToSearch) 中每个场地的菜单,但我的代码没有向控制台打印任何内容。通过将 link 粘贴到 JSON 格式化程序中,我发现我收到了 400 错误请求错误,而不是 if 语句要求的 200。 The official API endpoint 表示 link 的格式必须如下:

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

其中 VENUE_ID 是包含特定 ID 的字符串。此外,由于它是一个无用户端点,用户无需使用 Foursquare 帐户登录即可使用该应用程序;相反,我只需要提供一个客户端 ID 和一个客户端密码,它们都被声明为 class 级别变量并使用 &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 */

我 URL 的格式设置有误吗?还是我得到 400 结果的原因完全不同?

我想正确的不是 "menu&",而是 "menu?"。请尝试以下 URL:

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