I'm using dialogflow in my ionic app. This is my .ts file.
import { Component, NgZone } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
declare var ApiAIPromises: any;
@IonicPage()
@Component({
selector: 'page-chat-box',
templateUrl: 'chat-box.html',
})
export class ChatBoxPage {
answer;
constructor(public navCtrl: NavController,
public navParams: NavParams,
public ngZone: NgZone)
{
ApiAIPromises.init({
clientAccessToken: "xxxxxxxxxxxx"
})
.then((result) => console.log(result))
}
ionViewDidLoad() {
console.log('ionViewDidLoad ChatBoxPage');
}
goBack() {
this.navCtrl.pop();
}
ask(question) {
ApiAIPromises.requestText({
query: question
})
.then(({result: {fulfillment: {speech}}}) => {
this.ngZone.run(()=> {
this.answer = speech;
});
})
}
}
I've also installed the plugin
ionic cordova plugin add cordova-plugin-apiai
When i'm trying to run it I'm getting an error as mentioned below.
Uncaught (in promise): ReferenceError: ApiAIPromises is not defined ReferenceError: ApiAIPromises is not defined at new ChatBoxPage (chat-box.ts:19) at createClass (core.js:12443) at createDirectiveInstance (core.js:12284) at createViewNodes (core.js:13742) at createRootView (core.js:13631) at callWithDebugContext (core.js:15056) at Object.debugCreateRootView [as createRootView] (core.js:14339) at ComponentFactory_.create (core.js:11236) at ComponentFactoryBoundToModule.create (core.js:4023) at Tab.NavControllerBase.viewInit (nav-controller-base.js:441) at new ChatBoxPage (chat-box.ts:19) at createClass (core.js:12443) at createDirectiveInstance (core.js:12284) at createViewNodes (core.js:13742) at createRootView (core.js:13631) at callWithDebugContext (core.js:15056) at Object.debugCreateRootView [as createRootView] (core.js:14339) at ComponentFactory.create (core.js:11236) at ComponentFactoryBoundToModule.create (core.js:4023) at Tab.NavControllerBase._viewInit (nav-controller-base.js:441) at c (polyfills.js:3) at Object.reject (polyfills.js:3) at Tab.NavControllerBase._fireError (nav-controller-base.js:223) at Tab.NavControllerBase._failed (nav-controller-base.js:216) at nav-controller-base.js:263 at t.invoke (polyfills.js:3) at Object.onInvoke (core.js:4749) at t.invoke (polyfills.js:3) at r.run (polyfills.js:3) at polyfills.js:3 defaultErrorLogger @ core.js:1448 ErrorHandler.handleError @ core.js:1509 IonicErrorHandler.handleError @ ionic-error-handler.js:61 next @ core.js:5497 schedulerFn @ core.js:4331 SafeSubscriber.__tryOrUnsub @ Subscriber.js:239 SafeSubscriber.next @ Subscriber.js:186 Subscriber._next @ Subscriber.js:126 Subscriber.next @ Subscriber.js:90 Subject.next @ Subject.js:55 EventEmitter.emit @ core.js:4311 (anonymous) @ core.js:4771 t.invoke @ polyfills.js:3 r.run @ polyfills.js:3 NgZone.runOutsideAngular @ core.js:4697 onHandleError @ core.js:4771 t.handleError @ polyfills.js:3 r.runGuarded @ polyfills.js:3 (anonymous) @ polyfills.js:3 n.microtaskDrainDone @ polyfills.js:3 o @ polyfills.js:3 e.invokeTask @ polyfills.js:3 p @ polyfills.js:2 v @ polyfills.js:2
this.platform.ready().then(()=>{})- Suraj Rao