对应 V1 签名方式
dependencies: [
.package(url: "https://github.com/kevinzhow/baiducloudsigner-swift.git", .upToNextMajor(from: "0.0.1"))
]
OCR example, please ref to BaiduCloudSignerTests
for full code.
let signer = BaiduCloudSigner(ak: "", sk: "")
let url = URL(string: "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField:"Content-Type")
request.httpBody = "image=\(imageFileBase64)&language_type=JAP¶graph=true&detect_direction=true".data(using: .utf8)!
let signedRequest = signer.sign(request: request)
let session = URLSession.shared
let (data, _) = try await session.data(for: signedRequest)
This is the underlying implements of Sign Request
let method = "POST"
let url = URL(string: "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic")!
var headers = ["Content-Type": "application/x-www-form-urlencoded"]
let signer = BaiduCloudSigner(ak: "", sk: "")
let authHeader = signer.sign(method: method, url: url, headers: headers)
headers["Authorization"] = authHeader