1

您好,我已从 AlchemyAPI 移至 DiscoveryV1,但我的 swift 程序出现 401 错误,错误 Domain=com.ibm.watson.developer-cloud.DiscoveryV1 Code=401 "Not Authorized" UserInfo={NSLocalizedFailureReason=Not Authorized}

该应用程序在迁移到 Discovery 之前运行良好,Bluemix 支持团队已经验证了凭证并且在 BLuemix 中运行查询时没有出现错误

为此,我还将 url 添加到应用程序传输安全设置中,这是一个猜测,但它没有改变错误我添加了应用程序传输设置的屏幕截图

这是我使用的凭据 let wdn = Discovery(username: "my-user-name", password: "my-password", version: "2017-03-08")

let environmentID = "envID generated under my account on bluemix"
let collectionID = "collectionID generated under my account on bluemix"
let filter = ""
let query = newsSearchString < variable set later
let aggregation = "term(enriched_text.concepts.text).top_hits(10)"
let numberOfItemsToReturn = 30
let failure = { (error: Error) in print(error) }
let returnEntities = "enriched.url.url,enriched.url.title,enriched.url.author"




[enter image description here][1]


  [1]: https://i.stack.imgur.com/5UvJO.png
4

1 回答 1

0

我创建了一个新的应用 + 服务,并没有收到未经授权的错误。以下是我遵循的步骤:

代码 应用传输安全设置

  1. 我从 Bluemix下载了Watson Conversation starter 。这包括一个轻量级的 Watson 项目,其中包括快速设置所需的 SDK 和设置(基本上您所要做的就是将您的凭据放入 Converation 服务的配置文件中)。

  2. 因为那个启动器已经设置了所有的 Watson 配置,所以我只是导入了DiscoveryV1服务,将框架拖到我的项目中(更新了构建阶段),然后输入了初始化片段,一切都对我有用。

于 2017-03-09T07:53:16.993 回答