Gcp/Firebase/CloudFunctions/外部ライブラリ
提供: 初心者エンジニアの簡易メモ
外部ライブラリインストール
momentライブラリをインストール
cd functions npm install moment npm install moment-timezone
functions/package.json にmomentが追加されてることを確認
"dependencies": { "firebase-admin": "^8.0.0", "firebase-functions": "^3.1.0", "moment": "^2.24.0" "moment-timezone": "^0.5.26" },
index.js
// const moment = require("moment"); // tzなし const moment = require("moment-timezone"); moment.tz.setDefault("Asia/Tokyo"); console.log("format=" + moment().format()); // format=2019-08-24T09:19:10+00:00 console.log("YYYY-MM-DD=" + moment().format("YYYY-MM-DD")); // YYYY-MM-DD=2019-08-24 console.log("YYYY-MM-DD HH=" + moment().format("YYYY-MM-DD HH:mm:ssZ")); // YYYY-MM-DD HH=2019-08-24 09:19:10+00:00 console.log("unix format=" + moment().unix()); // unix format=1566638922 console.log(moment().add('months', 1).format("YYYY/MM/DD HH:mm:ss")); // 来月取得 moment("2019-08-24T12:12:12"); // 日付設定 moment.unix(1404817123); // 日付設定
参考
https://qiita.com/taizo/items/3a5505308ca2e303c099
https://qiita.com/akifo/items/af5203510c33247028a8
メール送信のライブラリをインストール
$ npm install nodemailer
package.jsonに以下が追加されてることを確認
{ "dependencies": { "nodemailer": "^6.4.10" } }
サンプル
const nodemailer = require('nodemailer'); const gmailEmail = "hoge***@gmail.com"; const gmailPassword = "******"; let transporter = nodemailer.createTransport({ service: 'gmail', port: 465, secure: true, auth: { user: gmailEmail, pass: gmailPassword } }); const to = "hoge@example.com"; const msg = "message1"; const mailOptions = { from: gmailEmail, to: to, subject: 'This is a sample of email function', html: `${msg}` }; transporter.sendMail(mailOptions, (erro, info) => { if (erro) { return response.send(erro.toString()); } return response.send('Sended'); });
gmailに重大なセキュリティ通知がきた。