【问题标题】:IBM Watson Visual Recognition API Key fail - Xcode SwiftIBM Watson Visual Recognition API 密钥失败 - Xcode Swift
【发布时间】:2018-07-04 01:38:57
【问题描述】:

我正在尝试使用 VisualRecognitionV3.framework 连接到 Watson。

框架编译得很好(通过 Carthage),我认为我已经正确配置了服务凭证,但是当我将 Xcode 编译到模拟器时,我得到一个无效的 api-key 错误。

有没有人遇到过同样的问题? 我做错了什么?

private let apiKey = "Xn5DUtQU8WzgFTL9qNEFwBjxxxxxxxxxxxxxxxxxx"
    private let classifierId = "DefaultCustomModel_2051029379"
    private let version = "2018-07-01"
    var visualRecognition: VisualRecognition!

    override func viewDidLoad() {
        super.viewDidLoad()
        self.visualRecognition = VisualRecognition(apiKey: apiKey, version: version)
    }

    override func viewDidAppear(_ animated: Bool) {
        let localModels = try? visualRecognition.listLocalModels()
        if let models = localModels, models.contains(self.classifierId)  {
            print("local model found")
        } else {
            self.updateModel()
        }
    }

Xcode 错误:

Error Domain=com.ibm.watson.developer-cloud.VisualRecognitionV3 Code=403 "ERROR: invalid-api-key" UserInfo={NSLocalizedDescription=ERROR: invalid-api-key}

Watson 配置截图: Watson Config

【问题讨论】:

标签: swift xcode ibm-watson visual-recognition


【解决方案1】:

您需要使用另一个初始化程序来初始化您的 VisualRecognition,如下所示

let visualRecognition = VisualRecognition(version: version, apiKey: apiKey, iamUrl: nil)

不同之处在于,您需要使用第三个参数(即 iamUrl)调用此 3 参数构造函数,即使您将其设为 nil 并且其他任何内容都相同。这告诉 VisualRecognition 类使用 IAM 对您的应用进行身份验证。

git 文档很混乱,这里写着https://github.com/watson-developer-cloud/swift-sdk#visual-recognition

注意:2018 年 5 月 23 日之前创建的实例使用不同的初始化程序进行身份验证:

这意味着旧方法应该可以正常工作,除非,他们犯了一个错误,他们实际上是指 之后 2018 年 5 月 23 日

无论如何,如果您尝试它应该可以工作。我在写这个答案前 30 分钟就遇到了这个问题。

【讨论】:

  • 感谢@Joe。是的,通过正确排序实例初始化器来验证它。
猜你喜欢
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
  • 2017-05-22
  • 2018-06-09
  • 1970-01-01
相关资源
最近更新 更多