「Gcp/Firebase/CloudFunctions/外部ライブラリ」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→外部ライブラリインストール) |
(→momentライブラリをインストール) |
||
(同じ利用者による、間の6版が非表示) | |||
行1: | 行1: | ||
==外部ライブラリインストール== | ==外部ライブラリインストール== | ||
− | === | + | ===momentライブラリをインストール=== |
cd functions | cd functions | ||
npm install moment | npm install moment | ||
行27: | 行27: | ||
</pre> | </pre> | ||
+ | ====参考==== | ||
https://qiita.com/taizo/items/3a5505308ca2e303c099 | https://qiita.com/taizo/items/3a5505308ca2e303c099 | ||
https://qiita.com/akifo/items/af5203510c33247028a8 | https://qiita.com/akifo/items/af5203510c33247028a8 | ||
− | === | + | ===メール送信のライブラリをインストール=== |
$ npm install nodemailer | $ npm install nodemailer | ||
行42: | 行43: | ||
} | } | ||
</pre> | </pre> | ||
+ | サンプル | ||
+ | <pre> | ||
+ | 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'); | ||
+ | }); | ||
+ | </pre> | ||
+ | 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に重大なセキュリティ通知がきた。