首页 > 解决方案 > DialoguFlow 网络请求在 Swift 中不起作用

问题描述

我在我的代码中发现了一些奇怪的问题。你们能帮帮我吗。我按照相同的模式遵循教程,我无法弄清楚。

这是我的代码。

    let request : AITextRequest = ApiAI.shared().textRequest()

    if let text = message?.text, text != "" {
        request.query = text
        print("Hey : \(text)")
    } else {
        print("return")
        return
    }

    request.setMappedCompletionBlockSuccess({ (request, response) in
        let response = response as! AIResponse
        if let textResponse = response.result.fulfillment.messages {
            print("\(textResponse)")
        }
    }, failure: { (request, error) in
        print(error!)
    })

它没有进入完成块。它也没有显示失败中的错误。

标签: swiftxcodedialogflow-es

解决方案


我想出了解决方案。我知道这很奇怪。

我已经在 Appdelegate 中初始化了 CLIENT_TOKEN。它在我的课堂上不起作用。因此,我已在使用此方法的同一类中对其进行了初始化。它开始触发 API。

   //ViewDidLoad
   let configuration = AIDefaultConfiguration()
    configuration.clientAccessToken = "*********************" //Hidden
    let apiai = ApiAI.shared()
    apiai?.configuration = configuration

推荐阅读