IBM Watson Unity SDK, объекты IamAuthenticator не могут успешно пройти аутентификацию - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь запросить Watson Discovery News и получить некоторые ответы в Unity.

Сначала я попытался аутентифицировать свою службу Watson Discovery через службу обнаружения APIKey (как описано в разделе «IAM» в https://github.com/watson-developer-cloud/unity-sdk). Мой код точно такой же, как пример кода в разделе «Запрос коллекции» в https://cloud.ibm.com/apidocs/discovery/discovery?code=unity#query -a-collection .

К сожалению, код всегда возвращается из-за неудачной аутентификации, поэтому Я не могу получить ответ. После некоторой отладки я обнаружил, что поле «tokenData» в IamAuthenticator.cs (это часть IBM Unity SDK) не инициализировано; это приводит к неудачной аутентификации.

Мне удалось отладить, изменив «yield return» в примере кода на «return». В противном случае отладчик C# не сможет войти в код.

Поскольку я выполнил все шаги в документации IBM, я не уверен, как действовать.


Воспроизвести проблему необходимо загрузить IBM Unity SDK по номеру https://github.com/watson-developer-cloud/unity-sdk и следовать инструкциям в README. После настройки можно повторить проблему, используя следующий код:

var authenticator = new IamAuthenticator(
    apikey: "{apikey}"
);

while (!authenticator.CanAuthenticate())
    yield return null;

Заранее спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

Вы установили URL (SetServiceUrl) в соответствии с местоположением для вашего экземпляра службы? См. Конечная точка службы в справочнике по API

0 голосов
/ 04 марта 2020

Я обошел эту проблему, используя аутентификацию токена вместо APIkey. Если у вас есть выбор использования других SDK, например Java SDK, сделайте это. Поскольку Watson Unity SDK в настоящее время не очень хорошо поддерживается.

...