尝试通过 swift 访问rapidAPI yahoo Finance 时出现错误 403

问题描述 投票:0回答:1

我正在尝试使用rapidAPI来访问个人项目的雅虎财经API。我注册了一个免费帐户并获得了 API 密钥。 Rapid API 允许用户复制和粘贴代码来请求数据,因此我使用了他们的演示代码来访问 API。这是为了快速访问股票的详细信息:

import Foundation

let headers = [
"x-rapidapi-host": "apidojo-yahoo-finance-v1.p.rapidapi.com",
"x-rapidapi-key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" //private key 
]

let request = NSMutableURLRequest(url: NSURL(string: "https://apidojo-yahoo-finance- 
v1.p.rapidapi.com/stock/get-detail?region=US&lang=en&symbol=APPL")! as URL,
                                    cachePolicy: .useProtocolCachePolicy,
                                timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
    if (error != nil) {
        print(error)
    } else {
        let httpResponse = response as? HTTPURLResponse
        print(httpResponse)
    }
})

dataTask.resume()

当我运行此代码时,它给出错误 403。这意味着根据他们的网站,此数据是被禁止的。我尝试过使用其他 API 并复制和粘贴演示代码,它们工作得很好。该 API 不应该被贬值,因为它在网站演示上运行。这是我在 Xcode 中得到的返回消息: Returning Message

swift yahoo-finance rapidapi
1个回答
3
投票

我刚刚检查了雅虎财经 API。 GET /get-detail 端点现在似乎已被弃用。尽管它已被弃用,但它仍然对我有用。

确保订阅此 API。这可能是 403 代码的原因

© www.soinside.com 2019 - 2024. All rights reserved.