#利用シーン
GformでLINEの友達追加QRコードを送信してもらってスプレッドシートで管理していた。
画像だといちいち読み取るのがめんどくさいので、解析したいなと思いました。(※架空の話です)
その他にもgoogleDriveのQRコードをさくっと解析したい時ぐらいあるはず。
知見を見つけるのに時間がかかったので書きました。
#画像IDを取得する
①GoogleDriveにアップロードされた画像の共有リンクを発行します。
https://drive.google.com/file/d/1e9TFzKj25YS12nlr1ItHGpPRHTvSvpj/view?usp=sharing
②共有リンクから、画像IDを取得します。
リンクの中のd/
と/view
に挟まれた部分です。
③jsのコードに画像IDを書き換えます
index.js
const axios = require("axios");
const QRReader = require("qrcode-reader");
const jimp = require("jimp");
async function main() {
const imageID = "画像ID"
await jimp.read(
`https://drive.google.com/uc?export=view&id=${imageID}`,
async function (err, image) {
const qr = new QRReader();
const value = await new Promise((resolve, reject) => {
qr.callback = (err, v) => (err != null ? reject(err) : resolve(v));
qr.decode(image.bitmap);
});
message = { type: "text", text: `解析結果:${value.result}` };
console.log(message)
}
);
}
main();
④モジュールのインストールをこないます
npmi init -y
npm install
⑤起動します
node index.js
サンプルコード
##利用例