swift - IBM Watson Visual Recognition API key 失败 - Xcode Swift

标签 swift xcode ibm-watson visual-recognition

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

框架编译得很好(通过 Carthage),并且我认为我已经正确配置了服务凭证,但是当我将 Xcode 编译到模拟器时,我收到了 invalid-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

最佳答案

您需要使用另一个初始化程序来初始化 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

Note: a different initializer is used for authentication with instances created before May 23, 2018:

这意味着旧的方式应该可行,除非,他们犯了一个错误,他们实际上的意思是之后 2018 年 5 月 23 日

无论如何,如果你尝试一下,它应该会起作用。在写这个答案之前 30 分钟我就遇到了这个问题。

关于swift - IBM Watson Visual Recognition API key 失败 - Xcode Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51164718/

相关文章:

ios - 在 iPhone 中连续播放 1 个声音片段而不会出现任何中断

node.js - 在哪里可以获取 Watson-Assistant 的 "workspace_id"参数?

javascript - 如何使用 HTML5 音频 API 播放从 XMLHTTPRequest 返回的音频

ios - NSURLSession/NSURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9802)错误

ios - 如何将音乐从我的应用程序切换到 iPod

objective-c - 如何制作具有自定义 map 图像的类 map View ?

ibm-watson - 视觉识别自定义分类器中的最大类别?

ios - 在 .docx 的 UITextView 中显示文本

ios - 如何发送由外部 MIDI 时钟触发的 MIDI 音符?

ios - 获取 UITabBarItem 图像的默认未选定 TintColor