Google

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=x
作例 : 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

-Google
-, , , , , ,