c# - IBM Watson Unity SDK,IamAuthenticator 对象无法成功认证
问题描述
我正在尝试查询 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;
提前感谢您的帮助!
解决方案
您是否设置了 URL ( SetServiceUrl
) 以匹配您的服务实例的位置?请参阅API 参考中的服务端点
推荐阅读
- r - 将时间戳转换为 POSIXct 格式返回双精度
- python - 谷歌云文件系统是短暂的吗?
- python - Better scale scatterplot points by size in plotly, some of the points are too small to see?
- amazon-web-services - Apache metrics to cloudwatch via Prometheus
- ansys - 从 ANSYS 中提取质量和刚度矩阵
- javascript - 如何循环一个函数两次以上?
- python - 用scrapy刮问题
- csv - 如何在 Svelte 应用程序中使用 Axios 获取 CSV?
- mysql - Google App Script SQL 查询返回 bool 'True' 而不是 Int 值,但查询在 App Script 之外工作?
- flutter - 令人敬畏的 fcm 推送通知