gpt4 book ai didi

ios - 使用 OAuth 1 的 Swift (Xcode) REST API 连接

转载 作者:行者123 更新时间:2023-11-29 00:12:50 25 4
gpt4 key购买 nike

快速背景,我在这个领域非常新。我知道之前已经有人问过此类问题并成功回答了。我遇到的问题是由于无法全神贯注于建立连接的过程。我花了数小时(数天)寻找答案,但仍然没有成功。可以说,这已成为我的“白鲸”。

我正在使用带有 Swift 版本 4 的 Xcode 9。我遇到的许多答案都使用 Objective-C,我无法混合搭配。所以我想了解为什么我无法连接以及正确的连接过程,这样我就可以在理解我在做什么的情况下编写代码。最后,我已经注册(并完成)了一些付费的 Udemy 类(class),以尝试正确学习该过程。我已经能够连接到 API 源,但 OAuth 1 使我感到困惑。非常感谢任何建设性的帮助。

背景:

我正在尝试连接到 Fat Secret 数据库。我想将搜索栏连接到 food.search 功能,并将 food.get 连接到另一个搜索栏。

公司- FatSecretAPI 的 URL - platform.fatsecret.com/rest/server.apiFatSecret 文档的 URL(我已经浏览过很多次)- http://{space} platform.fatsecret。 {空格}com/api/默认。 {space} aspx?screen=rapiauth参数-参数{oauth_consumer_key - consumer_key(我有消费者 key )oauth_signature_method - “HMAC-SHA1”oauth_timestamp - 日期和时间,以自格林威治标准时间 1970 年 1 月 1 日 00:00:00 以来的秒数表示。时间戳值必须是正整数,并且必须等于或大于之前请求中使用的时间戳oauth_nonce - 为请求随机生成的字符串,可以与时间戳结合生成唯一值oauth_version - 必须是“1.0”

正如我之前所说,我的问题的答案显示在上面。我理解那部分,但我不明白如何将它合并到我的代码中。

过去的代码-

        let url = URL(string: "I am unable to post more than 2 links due to my rep so I put {space} in the above url to circumvent the error. I used the listed url from the parameters")!


let task = URLSession.shared.dataTask(with: url) {
(data, response, error) in

if error != nil { print("success")

} task.resume()

上面的代码是我用来建立连接的。我在控制台中收到“成功”,因此我扩展了参数。

    let url = URL(string: "I am unable to post more than 2 links due to my rep so I put {space} in the above url to circumvent the error. I used the listed url from the parameters")!


let task = URLSession.shared.dataTask(with: url) {
(data, response, error) in

if error != nil { print(error)

if let urlContent = data {

do {

let jsonResult = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject

print(jsonResult)

} catch {




} task.resume()

上面的代码在控制台中没有产生任何结果。我相信(抱歉我的无知)我没有得到回复的原因是因为我没有在请求中发送任何授权,也没有发送正确的编码。我想我可以通过 var/let 语句创建参数,然后调用这些语句,但我看不到这样做的方法。我也可以将所有连接信息存储在不同的 swift 文件或类中,并在需要访问数据时调用它。每个请求都需要此基本签名。我不得不想象最佳实践会以这种方式进行设置,但同样,我无法想象这个过程。它变成了一个反复试验的过程,导致令人难以置信的挫败感。

同样,我们将不胜感激任何帮助。对于这篇文章的长度,我深表歉意。感谢您花时间阅读这篇文章。

最佳答案

这可能有点晚了,但我已经成功地实现了 FatSecret REST API,并创建了一个小型 Xcode 项目来展示我如何处理 OAuth。唯一可以调用的是 food.search 和 food.get。 https://github.com/NicholasBellucci/FatSecretSwift

关于ios - 使用 OAuth 1 的 Swift (Xcode) REST API 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45941613/

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