Google Chart APIを使って「QRコードを」作成する方法
2015/08/08
Googleが公開している「Chart AP」を使ってQRコードを作成する方法を備忘録としてポストします。
Google Chart API でQRコードを作成する
動的にQRコードを作る意味
QRコードを作成してくれるサービは検索すればいくつも出てきますが、例えば、ブログの各詳細ページに動的にQRコードを表示したいという場合、いちいちサービス経由でQRコード画像を作成し、画像をアップするってのもなかなかに面倒な作業です。
そういう作業こそ美徳を考える人もいるとは思いますが、toogie はしたくありません(笑)
最初に頑張って仕組みを作り、運用段階では「1クリックでも工程を少なくしたい」と考えるのがプログラマだと toogie は思うので、プログラマらしく利用できるものを利用したいと思います。
APIの使い方
基本的にAPIなので、仕様に則ってURLを作成しGoogle様に投げると出来上がったものが返ってくる、という仕組みになっております。「仕様に則って」って部分を理解できれば良いってことですね。
ということで、その部分を説明したいと思います。
まずは、このブログのトップページURLのQRコードを作成するURLです。
https://chart.googleapis.com/chart?cht=qr&chs=300x300&chl=https://nodoame.net/
このAPI URLを <img src=""> に入れ込むと、QRコードが表示されるという仕組みです。
実際に作ってみると、以下のように表示されるはずです。
URLの後に続くパラメーターを分解して説明します。
cht
書式 : cht=qr
作例 : cht=qr
種類 : 必須
Google Chart APIへQRコード生成指定。
QRコードを作成する場合、このパラメータは必ず「qr」とします。
chs
書式 : chs=
作例 : chs=150x150
種類 : 必須
画像サイズをピクセル数で指定。150x150 とすると縦横150pxのQRコードを生成。
width と height には同じ値を指定すること。
chl
書式 : chl=
作例 : chl=https://nodoame.net/
種類 : 必須
QRコードとするデータを指定。今回の場合だとブログURLとなります。
数字(0?9)・英数字・バイナリバイト・漢字を指定することが可能。
QRコード内のデータ型を混在させることはできず、データはUTF-8でURLエンコードする必要があります。
URLを指定する場合は最大2,000文字まで。それ以上をエンコードする場合はPOSTでデータを送信する必要があります。
choe
書式 : choe=
作例 : choe=UTF-8
種類 : 省略可
QRコードとするデータの文字コードを指定。
Shift_JIS、ISO-8859-1も指定可能。省略した時は UTF-8 がデフォルトとなります。
chld
書式 : chld=
作例 : chld=l|0 または chld=l%7C0
種類 : 省略可
誤り訂正レベルはQRコードに汚れなどがあっても正確に読み取れるように、読み取り不能や読み取り間違いを修正する割合です。誤り訂正レベルが高いほどドットの数が増えます。
下記の4レベルを指定し、デフォルトはレベルLになります。
- L - レベルL:コード語の約7%が復元可能
- M - レベルM:コード語の約15%が復元可能
- Q - レベルQ:コード語の約25%が復元可能
- H - レベルH:コード語の約30%が復元可能
マージン幅は実際のQRコードと画像の末端までの余白の幅になります。
ピクセル数ではないので注意しましょう
リファレンス
Google Chart Tools: Infographics - Infographics (Deprecated) - Google Developers
https://developers.google.com/chart/infographics/docs/qr_codes?hl=ja