3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GoogleDriveにアップロードしたQRコードをjsで読み取る

Posted at

#利用シーン
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

⑥解析が完了します!!
image.png

サンプルコード

##利用例

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?