首页 > 解决方案 > 如何在 swift 中使用 Yelp api v3

问题描述

长话短说,我希望能够获得有关位置的评论、图像等,并将它们添加到地图中。使用 Yelp 的 api v3 似乎是做到这一点的最佳方式,但我很难找到像样的/更新的/工作的文档。

我看这里: https ://github.com/codepath/ios_yelp_swift/tree/master/Yelp

但它已经过时了(api和swift的版本)

我确实设法找到了这个更新的文档。在 v3 上: https ://github.com/Yelp/yelp-fusion/tree/master/fusion/swift

但代码不起作用。

我还查看了关于 yelp api 的几乎所有问题/线程,但大多数问题都已过时或从未回答。

但是根据我对查看其他问题的理解,为了使用 api,我必须创建一个 HTTP GET 请求,更改授权,并使用 url 解码数据:https ://api.yelp.com/v3 (但使用我想要的条款等等)但是yelp提供的文档不包括任何这些?

我的问题是,谁能提供正确使用 v3 api 的完整示例(或链接)或提供有关如何使用它的一些说明?

任何帮助,将不胜感激

标签: swiftyelp

解决方案


花了一些时间才得到它。

    fileprivate func fetchYelpBusinesses(latitude: Double, longitude: Double) {
        let apikey = "YourAPIKey"
        let url = URL(string: "https://api.yelp.com/v3/businesses/search?latitude=\(latitude)&longitude=\(longitude)")
        var request = URLRequest(url: url!)
        request.setValue("Bearer \(apikey)", forHTTPHeaderField: "Authorization")
        request.httpMethod = "GET"

        URLSession.shared.dataTask(with: request) { (data, response, error) in
            if let err = error {
                print(err.localizedDescription)
            }
            do {
                let json = try JSONSerialization.jsonObject(with: data!, options: []) as! [String: Any]
                print(">>>>>", json, #line, "<<<<<<<<<")
            } catch {
                print("caught")
            }
            }.resume()
    }


推荐阅读