我在 API 中添加了一个key
,但我正在努力在我的应用程序代码中实现它。我一直在得到一个message = Forbidden;
.
我已经测试了不同的方法,但没有一种有效。这是怎么回事?
if let jsonData = try? JSONSerialization.data(withJSONObject: dict, options: .prettyPrinted) {
let url = NSURL(string: "(APIAddress)")!
let request = NSMutableURLRequest(url: url as URL)
request.httpMethod = "PATCH"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("(APIKey)", forHTTPHeaderField: "Authorization")
request.httpBody = jsonData
let task = URLSession.shared.dataTask(with: request as URLRequest) { data, response, error in
if error != nil {
print(error?.localizedDescription as Any)
return
}
do {
let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
if let parseJSON = json {
let resultValue = parseJSON["success"]
print("result: (String(describing: resultValue))")
print(parseJSON)
}
} catch let error as NSError {
print(error)
}
}
task.resume()
}
请注意,在 API 网关上激活 API 密钥之前,该方法已有效
您没有包含POST
请求所需的所有标头。
下面是有关如何构造有效请求的文档。
您似乎缺少host
和x-amz-date
标题。