Javascript 通过Firebase函数生成日历邀请

Javascript 通过Firebase函数生成日历邀请,javascript,node.js,firebase,calendar,google-cloud-functions,Javascript,Node.js,Firebase,Calendar,Google Cloud Functions,我使用的是Firebase,正在寻找一种方法,以在某个触发器上生成iCal/vcs文件。我一直在调查,但我不确定这是否是一条出路 背景 因此,用户使用应用程序创建一个事件,该事件将被发送到Firebase,这将触发一个事件(触发器已经存在),其中日历邀请将与NodeEmailer一起发送 这可能吗?创建邮件传输 const mailTransport = nodemailer.createTransport({ service: 'gmail', auth: { user: gmailE

我使用的是Firebase,正在寻找一种方法,以在某个触发器上生成iCal/vcs文件。我一直在调查,但我不确定这是否是一条出路

背景

因此,用户使用应用程序创建一个事件,该事件将被发送到Firebase,这将触发一个事件(触发器已经存在),其中日历邀请将与NodeEmailer一起发送


这可能吗?

创建邮件传输

const mailTransport = nodemailer.createTransport({
service: 'gmail',
auth: {
    user: gmailEmail,
    pass: gmailPassword,
 },
});
创建cal事件

// Create ical object
let cal = ical();

const event = cal.createEvent({
    start: event_start,
    summary: event_name,
    end: new Date(event_start.getTime() + 3600000),
    location: address
});

event.organizer({
    name: author_name,
    email: author_email,
    mailto: author_email
});

// Update event description
event.description(email_text);

// Set up mail options
const mailOptions = {
                    from: `"Your corp." <${gmailEmail}`,
                    to: user_email,
                    subject: `Here is your event"`,
                    text: email_text,
                    icalEvent: {
                        method: 'request',
                        content: new Buffer(cal.toString())
                    }
                    };



// Send mailOptions
mailTransport.sendMail(mailOptions).then(() => console.log(`Invite sent`
                                   .catch((error) => console.error('There was an error while sending the email:', error));
//创建ical对象
设cal=ical();
const event=cal.createEvent({
开始:事件开始,
摘要:事件名称,
结束:新日期(event_start.getTime()+3600000),
地点:地址
});
活动组织者({
姓名:作者姓名,
电子邮件:作者的电子邮件,
邮件收件人:作者/电子邮件
});
//更新事件描述
事件描述(电子邮件文本);
//设置邮件选项
常量邮件选项={

发自:`“你的公司”。嗨,Giovanni,你有什么进展吗?我正在考虑为我正在开发的应用程序做类似的事情。嗨,不幸的是,到目前为止没有进展。我可能只会使用设备自己的标准日历,例如在iOS call EventKit或Android call Google calendar上……你找到解决方案了吗?