Google api Dialogflow-履行-添加意向列表

Google api Dialogflow-履行-添加意向列表,google-api,dialogflow-es,fulfillment,Google Api,Dialogflow Es,Fulfillment,我想做一个可以预约的聊天机器人。 我没有找到允许我动态添加意图的代码 我的代理人有一系列电子邮件: agent.parameters.invests[0]=>电子邮件1 agent.parameters.invests[1]=>电子邮件2 这是我的职责: function createCalendarEvent (dateTimeStart, dateTimeEnd, room, calendarId, agent, organisateur,objet) { return new P

我想做一个可以预约的聊天机器人。 我没有找到允许我动态添加意图的代码

我的代理人有一系列电子邮件:

agent.parameters.invests[0]=>电子邮件1
agent.parameters.invests[1]=>电子邮件2

这是我的职责:

    function createCalendarEvent (dateTimeStart, dateTimeEnd, room, calendarId, agent, organisateur,objet) {  return new Promise((resolve, reject) => {
    calendar.events.list({  // List all events in the specified time period
      auth: serviceAccountAuth,
      calendarId: calendarId,
      timeMin: dateTimeStart.toISOString(),
      timeMax: dateTimeEnd.toISOString()
    }, (err, calendarResponse) => {
      // Check if there exists any event on the calendar given the specified the time period
      if (err || calendarResponse.data.items.length > 0) {
          if (err) {agent.add(err.toString());}
        reject(err || new Error('Heure demandée en conflit avec un autre RDV.'));
      } else {

        calendar.events.insert({ auth: serviceAccountAuth,
          calendarId: calendarId,
          resource: {summary: objet + ' - salle : '+ room + ' - organisé par  ' + agent.parameters.orga,
            start: {dateTime: dateTimeStart},
            end: {dateTime: dateTimeEnd},
            description: objet,
            location: room,
            //source : {title : "JPV objet"}
            //organizer : {'email': organisateur},
            attendees: [{'email': agent.parameters.invites[0],"organizer": true}, {'email':agent.parameters.invites[1]}],
            sendUpdates :'all', 
            sendNotifications: true,
          }
        }, (err, event) => {
          err ? reject(err) : resolve(event);
        }
        );

      }
    });
  });
}
你能帮我吗


关于,

从您正在显示的内容来看,
agent.parameters.invests
是一个数组,您需要一个数组作为
Attenders
参数的一部分传递

在JavaScript中,一个很好的方法是使用函数,该函数对数组中的每个值调用一个函数,并返回一个新数组以及调用每个函数的结果。使用源数组中该元素的值和(可选)索引调用该函数

我还没有测试过这个,但是类似的东西应该可以用

let attendees = agent.parameters.invites.map( (value, index) => {
  return {
    email: value,
    organizer: (index === 0)
  }
});
然后使用此
attenders
数组作为调用中
attenders
参数的值


本例中的函数获取每个值和索引,并返回一个新对象,该对象的值设置为
email
参数,如果这是第一项,则
organizer
设置为true(否则为false)。

从您显示的内容来看,
agent.parameters.invests
是一个数组,您需要一个数组,作为
attenders
参数的一部分传递

在JavaScript中,一个很好的方法是使用函数,该函数对数组中的每个值调用一个函数,并返回一个新数组以及调用每个函数的结果。使用源数组中该元素的值和(可选)索引调用该函数

我还没有测试过这个,但是类似的东西应该可以用

let attendees = agent.parameters.invites.map( (value, index) => {
  return {
    email: value,
    organizer: (index === 0)
  }
});
然后使用此
attenders
数组作为调用中
attenders
参数的值


本例中的函数获取每个值和索引,并返回一个新对象,该对象的值设置为
email
参数,如果这是第一项,则
organizer
设置为true(否则为false)。

我不确定是否理解问题所在。用户在说什么,您希望如何将其映射到电子邮件地址?或者他们说的是电子邮件地址?少了什么?您当前的代码有错误吗?你的意图是什么?嗨,我的英语很抱歉。例如,机器人要求用户说出与会者的电子邮件。在我的代码中,bot只能理解2封电子邮件,因为:与会者:[{'email':agent.parameters.invests[0],“组织者”:true},{'email':agent.parameters.invests[1]},我只是想知道如何使它更具活力?我不确定我是否理解问题所在。用户在说什么,您希望如何将其映射到电子邮件地址?或者他们说的是电子邮件地址?少了什么?您当前的代码有错误吗?你的意图是什么?嗨,我的英语很抱歉。例如,机器人要求用户说出与会者的电子邮件。在我的代码中,bot只能理解2封电子邮件,因为:与会者:[{'email':agent.parameters.invests[0],“组织者”:true},{'email':agent.parameters.invests[1]},我只想知道如何使它更具活力?如果答案有帮助,接受和/或投票,我们将不胜感激。如果答案有帮助,接受和/或投票总是令人感激的。