はじめに
ひとこと
アクセスしていただきありがとうございます。
記事を執筆している2024/12/02現在は少し早い年末ということで、筆者用のシステムの大掃除をしていました。
すると、しばらく動かしていなかったQRコードを扱う機能がエラーを出力したため確認したところ、Google Chart APIがcode 404
を返していました。
調べたところ、公式からの発表がないもののユーザの反応から推測するに、2024年の春ごろに廃止されていたようです。
そこで代替となりそうなQR Code APIを使ってみました。
目的
- QR Code APIを理解して使えるようになる
検証済みの環境
- QR code API v1
ご注意
- この記事の情報は 2024/12/02現在 のものです
1.QR code APIとは
概要
おそらくドイツの企業(?)が運営しているQRコードに関するAPIです。
下記の通り、特殊な要件でもない限りは十分すぎる機能を備えながら、無料、ログインやAPIキーなし、(一部、制限はありますが)無制限で提供してくれています。
APIのドキュメントは英語ですが平易な表現が使われており、Google翻訳はしっかりと機能してくれましたので、おそらくどなたでも読めると思います。
できること
QRコードの生成
データやオプションをURLパラメータで指定する形式です。
QRコードの内容を指定するだけで生成してくれます。
それ以外にも画像の大きさやファイル形式など9つのオプションがあります。
QRコードの読み取り
読み取りたい画像のURLを指定するか、画像をPOST
することで読み取ってくれます。
読み取った結果はJSON形式かXML形式で返してくれます。
使い方
上記の通り、APIドキュメントが分かりやすいため、ここでは最低限だけ紹介します。
QRコードの生成
https://api.qrserver.com/v1/create-qr-code/?data=qiita.com/ochx
QRコードの読み取り
http://api.qrserver.com/v1/read-qr-code/?fileurl=http%3A%2F%2Fapi.qrserver.com%2Fv1%2Fcreate-qr-code%2F%3Fdata%3Dqiita.com%2Fochx
(QRコードを生成し、それを読み取っています)
2.GASでのサンプルコード
QRコードを生成し、Googleドライブに保存するシンプルなサンプルコードです。
function createQRCode() {
const data = 'qiita.com/ochx'
const url = `https://api.qrserver.com/v1/create-qr-code/?data=${data}`
const blob = UrlFetchApp.fetch(url).getBlob()
DriveApp.createFile(blob).setName('QRCode.png')
}
おわりに
最後までお読みいただきありがとうございます。
ざっと調べた限り、この素晴らしいAPIに関する日本語の情報は少なかったので記事にしてみました。
少しでも広まれば幸いです。