Swift API Gateway 密钥授权



我在 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请求所需的所有标头。

下面是有关如何构造有效请求的文档。

您似乎缺少hostx-amz-date标题。

最新更新