Как добавить Spotify Token в трек исполнителя - PullRequest
0 голосов
/ 11 февраля 2019

Попытка поиска трека исполнителя через spotify веб-API.Однако Spotify обновил свой API и теперь нуждается в токене для доступа к нему.Я должен токен, но не смог найти ничего, как использовать это через Alamofire.Вот кодЛюбая помощь будет принята с благодарностью или направлена ​​в правильном направлении.

class TableViewController: UITableViewController {

    var names = [String]()

    var searchURL = "https://api.spotify.com/v1/search?q=Odesza&type=track"

    typealias JSONStandard = [String : AnyObject]

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        callAlamo(url: searchURL)
    }

    func callAlamo(url : String){
        AF.request(url).responseJSON(completionHandler: {
            response in
            self.parseData(JSONData: response.data!)
        })

    }
    func parseData(JSONData : Data) {
        do {
            var readableJSON = try JSONSerialization.jsonObject(with: JSONData, options: .mutableContainers) as! JSONStandard
        print(readableJSON)
            if let tracks = readableJSON["tracks"] as? JSONStandard{
               // print(readableJSON)

                if let items = tracks["items"] as? NSArray{

                    for i in 0..<items.count{
                        let item = items[i] as! JSONStandard

                        let name = item["name"] as! String
                        names.append(name)

                        self.tableView.reloadData()

                    }
                }
            }
        }
        catch{
            print(error)
        }
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return names.count
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell")
       cell?.textLabel?.text = names[indexPath.row]
        return cell!
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

1 Ответ

0 голосов
/ 11 февраля 2019

Вы можете установить токен доступа в заголовках следующим образом. Для получения подробной информации и примеров вы можете посмотреть официальную ссылку 1002 *.Кстати возможен дубликат этого вопроса

   let headers = [
    "Authorization": "Bearer {your access token}"
]

AF.request(.GET, searchURL, headers: headers)
         .responseJSON { response in
             debugPrint(response)
         }
...