IBM Watson Unity SDK、IamAuthenticator 对象无法成功进行身份验证

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

我正在尝试查询 Watson Discovery News 并在 Unity 中获得一些回复。

首先,我尝试通过 Discovery 服务 APIKey 来验证我的 Watson Discovery 服务(如 https://github.com/watson-developer-cloud/unity-sdk 中的“IAM”部分所述)。我的代码与 https://cloud.ibm.com/apidocs/discovery/discovery?code=unity#query-a-collection.

中“查询集合”部分中的示例代码完全相同。

不幸的是,由于身份验证不成功,代码总是返回,因此我无法得到任何响应。经过一番调试,我发现 IamAuthenticator.cs(这是 IBM Unity SDK 的一部分)中的“tokenData”字段未初始化;这会导致身份验证失败。

我可以通过将示例代码中的“yield return”更改为“return”来进行调试。否则,C# 调试器无法单步执行代码。

由于我已遵循 IBM 文档中的所有步骤,所以我不确定如何继续。


要重现该问题,必须在 https://github.com/watson-developer-cloud/unity-sdk 下载 IBM Unity SDK,并按照 README 中的说明进行操作。设置完成后,可以使用以下代码复制问题:

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

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

预先感谢您的帮助!

c# unity-game-engine ibm-watson watson-discovery authenticator
2个回答
1
投票

您是否已设置 URL (

SetServiceUrl
) 以匹配您的服务实例的位置?请参阅 API 参考中的服务端点


0
投票
我使用Token身份验证而不是使用APIkey绕过了这个问题。 如果可以选择使用其他 SDK,例如Java SDK,请这样做。因为 Watson Unity SDK 目前还没有得到很好的支持。

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