Сбой ключа API визуального распознавания IBM Watson - Xcode Swift - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь подключиться к Watson, используя VisualRecognitionV3.framework.

Фреймворк скомпилирован нормально (через Карфаген), и я думаю, что у меня правильно настроены служебные учетные данные, но когда я компилирую 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

1 Ответ

0 голосов
/ 17 июля 2018

Вам нужно инициализировать VisualRecognition, используя другой инициализатор, как показано ниже

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

Разница в том, что вам нужно будет вызвать этот конструктор с тремя аргументами и третьим аргументом, то есть iamUrl, даже если вы сделаете его равным нулю, а все остальное будет таким же. Это говорит классу VisualRecognition для аутентификации вашего приложения с использованием IAM.

Git документация очень запутанная, которая говорит здесь https://github.com/watson-developer-cloud/swift-sdk#visual-recognition

Примечание: для аутентификации используется другой инициализатор с экземплярами, созданными до 23 мая 2018 года:

Что означает, что старый способ должен просто работать, ЕСЛИ , они допустили ошибку и на самом деле означают ПОСЛЕ 23 мая 2018

В любом случае, если вы попробуете, это должно сработать. У меня была эта проблема за 30 минут до написания этого ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...