GAS × QRコード|簡単な作成方法から読み取りまで一挙紹介
GASでQRコードって使えるのかな?

猫男

catman
ふふふ、それならGAS+QRコードの出番だ。読み取りも作成もバッチリできるぞ!
GASでQRコードを作成する方法
GAS(Google Apps Script)では、QRコード読み取りAPI(例:goqr.me)を使って、簡単にQRコードを生成できます!
以下のような関数を使えば、スプレッドシート上にQRコードを表示可能です。
function setQrCodeFormula() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const url = sheet.getRange("A1").getValue();
const imageUrl = "https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=" + encodeURIComponent(url);
sheet.getRange("B1").setFormula('=IMAGE("' + imageUrl + '")');
}
A1セルにQRコードにしたいURLやテキストを入れるだけで、B1セルに画像としてQRコードが生成されます。
めっちゃ簡単…!しかも画像で表示できるのがありがたい!

猫男
GASでQRコードを読み取る方法
GAS単体では画像からQRコードを読み取る機能はありませんが、外部APIを連携させることで実現可能です。
例:「QRコード読み取りAPI(例:goqr.me)」を利用
function readQrByPost(imageUrl) {
// ① まず自分で画像を取得
const blob = UrlFetchApp.fetch(imageUrl).getBlob();
// ② その画像を QR Server にアップロードして解析
const res = UrlFetchApp.fetch(
'https://api.qrserver.com/v1/read-qr-code/',
{
method: 'post',
payload: { file: blob }, // ← パラメータ名は "file"
muteHttpExceptions: true // 解析失敗時でもレスポンスを受け取る
}
);
const result = JSON.parse(res.getContentText());
const symbol = result[0].symbol[0];
Logger.log(symbol); // error と data を両方確認
return symbol.data; // 成功なら QR の内容、失敗なら null
}
imageUrl にはGoogle DriveやWeb上の画像のURLを指定します。たとえば、こんな感じ ↓
function sampleRun() {
const url = 'https://cacon2.sakura.ne.jp/members/php/assets/imgs/qr_sampleshop.png';
const data = decodeQrFromUrl(url);
Logger.log('QR 内容: ' + data);
}

catman
これで読み取りまで自動化できる!イベント受付にも応用できるな。
QRコードで受付管理(GAS+スプレッドシート)
QRコード付きの参加証を発行して、当日受付で読み取り → Google スプレッドシートに記録、という仕組みも作れます。
構成例:
スプレッドシートに参加者一覧を用意
GASで参加者ごとのQRコードを生成(IDなどをエンコード)
LINE BotやGAS Webアプリで読み取り用フォームを用意
読み取った情報をスプレッドシートに記録!
受付も非接触でスムーズにできるって、便利すぎる…!

猫男
まとめ:GAS×QRコードでできること
- QRコード作成:Google Chart APIで1行で生成可能
- QRコード読み取り:外部APIと連携すれば実現可
- QR受付システム:イベント運営や勤怠管理にも応用できる

catman
GASとQRコードのコンビは、紙を使わない未来型受付にもぴったりだ!