gpt4 book ai didi

ios - 寻找一种快速生成 OAuth 1 签名的方法

转载 作者:搜寻专家 更新时间:2023-10-31 19:33:43 26 4
gpt4 key购买 nike

我正在开发一个小的 swift 程序,通过 OAuth-1 使用 Yelp API。我希望生成 HMAC-SHA1 签名。

我有客户 key 、 key 、 token 和 token secret 。

据我所知,要使用 OAuth 1 发出 API 请求,我们需要以下属性:

  1. oauth_consumer_key
  2. oauth_token
  3. oauth_signature_method = (HMAC-SHA1)
  4. oauth_signature
  5. oauth_timestamp
  6. oauth_nonce

我如何生成#4,5,6

我看了其他this , 但没有帮助。

TIA!

最佳答案

响应很晚,但我维护了一个非常轻量级的 Swift 3 易于使用的扩展,它向 URLRequest 添加了 OAuth 1.0a 功能。

它叫做 OhhAuth .可以使用 Cocoa Pods 或 Swift 包管理器轻松安装。

pod 'OhhAuth'

我将添加一个关于如何与 Twitter API 交互的使用示例:

let cc = (key: "<YOUR APP CONSUMER KEY>", secret: "<YOUR 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()

如果你只对签名感兴趣,可以使用:

OhhAuth.calculateSignature(url: URL, method: String, parameter: [String: String],
consumerCredentials cc: Credentials, userCredentials uc: Credentials?) -> String

关于ios - 寻找一种快速生成 OAuth 1 签名的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38490515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com