「Gcp/Firebase/CloudFunctions/外部ライブラリ」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→メール送信のライブラリをインストール) |
(→momentライブラリをインストール) |
||
| (同じ利用者による、間の1版が非表示) | |||
| 行27: | 行27: | ||
</pre> | </pre> | ||
| + | ====参考==== | ||
https://qiita.com/taizo/items/3a5505308ca2e303c099 | https://qiita.com/taizo/items/3a5505308ca2e303c099 | ||
| 行72: | 行73: | ||
</pre> | </pre> | ||
gmailに重大なセキュリティ通知がきた。 | gmailに重大なセキュリティ通知がきた。 | ||
| + | |||
| + | 参考:https://code.st40.xyz/article/935 | ||
2020年7月28日 (火) 02:06時点における最新版
外部ライブラリインストール
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に重大なセキュリティ通知がきた。
