将密钥传递给 URL 请求 Swift

问题描述 投票:0回答:1

我需要从 Web 端点获取数据。我将在下面添加说明。我错误地传递了 X-ACCESS-KEY,因为当我运行代码时收到密钥无效或 bin 不属于我的帐户的错误。如何正确地将密钥传递给请求然后解码响应?

我们在此网址托管了一个 JSON 文件:https://api.jsonbin.io/v3/b/646bed328e4aa6225ea22a79。你的工作是编写一个脚本 下载 URL 的内容(提示:X-ACCESS-KEY 为 $2b$10$Ke1iwieFO7/7qsSKU.GYU.oYXZMW1EeHrwd4xx9ylboJik5mstZk6) 按每个元素“bar”键对数据进行排序 过滤掉 'baz' 不能被 3 整除的元素 连接每个元素 'foo' 值

let url = URL(string: "https://api.jsonbin.io/v3/b/646bed328e4aa6225ea22a79")!
let key = "$2b$10$Ke1iwieFO7/7qsSKU.GYU.oYXZMW1EeHrwd4xx9ylboJik5mstZk6)"
var request = URLRequest(url: url)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer \(key)", forHTTPHeaderField: "X-Master-Key")

var jsonData: Data?
let task = URLSession.shared.dataTask(with: request) { (data, _, err) in
    if let error = err {
        print("Error: \(error)")
    } else if let data = data {
        jsonData = data
        processData()
    }
}

task.resume()

func processData(){
    if let jsonData = jsonData,
       let jsonObject = try? JSONSerialization.jsonObject(with: jsonData, options: []) as? [String: Any], let records = jsonObject["records"] as? [[String: Any]] {
      
    }
}

json swift http url request
1个回答
0
投票

两个问题:

  1. Joakim 正确地指出,您必须指定不带前导的 just 键
    Bearer 
  2. 右括号不是标记的一部分。
© www.soinside.com 2019 - 2024. All rights reserved.