IBM Watson Unity SDK,IamAuthenticator 对象无法成功验证
IBM Watson Unity SDK, IamAuthenticator objects cannot authenticate successfully
我正在尝试查询 Watson Discovery News 并在 Unity 中获得一些响应。
首先,我尝试通过 Discovery 服务 APIKey 验证我的 Watson Discovery 服务(如 https://github.com/watson-developer-cloud/unity-sdk). My code is exactly the same as the example code in "Query a collection" section in https://cloud.ibm.com/apidocs/discovery/discovery?code=unity#query-a-collection 中的 "IAM" 部分所述。
不幸的是,由于身份验证不成功,代码总是returns,因此我无法得到任何响应。经过一些调试,我发现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;
在此先感谢您的帮助!
您是否设置了 URL (SetServiceUrl
) 以匹配您的服务实例的位置?请参阅 API 参考文献
中的 Service Endpoint
我使用令牌身份验证而不是使用 APIkey 绕过了这个问题。
如果可以选择使用其他 SDK,例如Java SDK,请这样做。因为Watson Unity SDK目前还没有得到很好的支持。
我正在尝试查询 Watson Discovery News 并在 Unity 中获得一些响应。
首先,我尝试通过 Discovery 服务 APIKey 验证我的 Watson Discovery 服务(如 https://github.com/watson-developer-cloud/unity-sdk). My code is exactly the same as the example code in "Query a collection" section in https://cloud.ibm.com/apidocs/discovery/discovery?code=unity#query-a-collection 中的 "IAM" 部分所述。
不幸的是,由于身份验证不成功,代码总是returns,因此我无法得到任何响应。经过一些调试,我发现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;
在此先感谢您的帮助!
您是否设置了 URL (SetServiceUrl
) 以匹配您的服务实例的位置?请参阅 API 参考文献
我使用令牌身份验证而不是使用 APIkey 绕过了这个问题。 如果可以选择使用其他 SDK,例如Java SDK,请这样做。因为Watson Unity SDK目前还没有得到很好的支持。