Я разрабатываю облачную функцию, которая использует API календаря, чтобы вывести список событий из календаря и проанализировать ответ, чтобы получить сводку. Я тестирую свою функцию рядом с консолью диалогового потока, и она дает мне желаемый результат, но когда яинтегрируйте его с действиями в Google. Всегда идите на улов
/ ----- прочтите описание события
//----- read the description for event
function getKeyPoint (agent) {
return fetchDescription(agent.parameters.date,agent.parameters.time).then(() => {
agent.add("The key point for the requiered event is "+keyPoint);
}).catch((err) => {
console.log("Error here "+err);
agent.add(`There is no description `);
});
}
function fetchDescription (date,time){
appointmentDuration = 1;// Define the length of the appointment to be one hour.
dateTimeStart = convertParametersDate(date,time);
dateTimeEnd = addHours(dateTimeStart, appointmentDuration);
return new Promise((resolve,reject)=>{
console.log("is listing now ");
calendar.events.list({
auth: serviceAccountAuth,
calendarId: calendarId,
timeMin: dateTimeStart.toISOString(),
timeMax: dateTimeEnd.toISOString()
},(err,calenderResponse)=>{
if (err || calenderResponse.data.items.length==0){
reject(err || new Error('No event at this time '));
}else {
var calenderResponseBody = calenderResponse.data;
var events=calenderResponseBody.items;
keyPoint = events[0].description;
resolve(keyPoint);
}
});
});
}
the package :
{
"name": "DialogflowFirebaseWebhook",
"description": "Firebase Webhook dependencies for a Dialogflow agent.",
"version": "0.0.1",
"private": true,
"license": "Apache Version 2.0",
"author": "Google Inc.",
"engines": {
"node": "6"
},
"scripts": {
"lint": "semistandard --fix \"**/*.js\"",
"start": "firebase deploy --only functions",
"deploy": "firebase deploy --only functions"
},
"dependencies": {
"firebase-functions": "^2.0.2",
"firebase-admin": "^5.13.1",
"googleapis": "^27.0.0",
"actions-on-google": "2.2.0",
"dialogflow-fulfillment": "^0.4.1"
}
}