Ganz späte Antwort passen, aber ich behaupte, ein sehr leichtes Swift 3 einfache Erweiterung verwenden, die 1,0 OAuth fügt eine Fähigkeit zu URLRequest.
Es heißt OhhAuth. Kann einfach mit Cocoa-Pods oder dem Swift-Paket-Manager installiert werden.
pod 'OhhAuth'
Ich werde ein Anwendungsbeispiel auf hinzufügen, wie mit dem Twitter-API zu interagieren:
let cc = (key: "<YOUR APP CONSUMER KEY>", secret: "<YOUT APP CONSUMER SECRET>")
let uc = (key: "<YOUR USER KEY>", secret: "<YOUR USER SECRET>")
var req = URLRequest(url: URL(string: "https://api.twitter.com/1.1/statuses/update.json")!)
let paras = ["status": "Hey Twitter! \u{1F6A7} Take a look at this sweet UUID: \(UUID())"]
req.oAuthSign(method: "POST", urlFormParameters: paras, consumerCredentials: cc, userCredentials: uc)
let task = URLSession(configuration: .ephemeral).dataTask(with: req) { (data, response, error) in
if let error = error {
print(error)
}
else if let data = data {
print(String(data: data, encoding: .utf8) ?? "Does not look like a utf8 response :(")
}
}
task.resume()
Wenn Sie daran interessiert sind nur in der Signatur sind, können Sie verwenden:
OhhAuth.calculateSignature(url: URL, method: String, parameter: [String: String],
consumerCredentials cc: Credentials, userCredentials uc: Credentials?) -> String
Haben Sie das herausgefunden, ohne eine dritte Bibliothek zu benutzen? –
Haben Sie Ihre Lösung ohne Drittanbieterbibliothek erhalten? –