ID-Blogger

Google Chart APIでQRコードを生成

Google Chart APIで生成したInfinity DimensionsのQRコード

Twitterなどのユーザー拡大に伴って重要度を増してきたURL短縮化サービスですが、今までツールバーやブラウザの拡張機能でしか利用できなかったGoogle謹製のGoo.glが、2010年10月1日の本日から一般公開されて誰でも利用出来るようになりました。

それはそれですごく嬉しい事なんですが、実はこのURL短縮化サービスのウラにQRコード生成機能」が隠されていたんですね!全然知りませんでした...

Goo.glのすごい隠し機能がどのリンクも瞬時にQRコードに変える - TechCrunch JAPAN

今日(米国時間9/30)Googleは、同社のURL短縮サービスであるGoo.glを、一般に公開した。Googleはこれを「ウェブで最も安定、安全、高速なURL短縮サービス」と呼んでいる。しかし、イースターエッグ(隠し機能)のおかげで、最もクール、でもあるかもしれない。

GoogleのMatt Cuttsがつい先ほど ツイートしたところによると、goo.glのURLの後に「.qr」を付けるだけで、QRコードが生成される。これをQRコードリーダーでスキャンすれば、そのURLに飛べる。

例えばこのURL、goo.gl/qJB9は、この記事の短縮リンクだ。もしこれを、goo.gl/qJB9.qrに変えれば、上の画像が得られる。

実はこの機能は全く新しいというわけではない ― しかし、以前はgoo.glを使うこと自体が難しすぎた(一部のGoogle製品でしか使えなかった)。今後は多くの人がgoo.glを使うようになる可能性が高く、これは非常に便利なので、再度取り上げる価値があるだろう。

これを読んでやっぱり思う浮かぶのは「ひょっとしてAPIでQRコード生成できるんじゃないか?」という事。というワケで実際に生成してみたのが上のQRコードです。おぉ!すごい出来るんだ!!

という喜びも束の間、実は2008年7月に公開されてたGoogle Chart APIの機能だったんですね。ホントもう自分の情報収集能力の低さにガッカリしました...
せっかくなんで使い方を備忘録として残しておこうと思います。

Google Chart APIでQRコードを生成

Google Chart APIでQRコードを生成する方法はすごく簡単です。imgタグの参照URLに指定のパラメーターを投げるだけで生成可能です。

<img src="http://chart.apis.google.com/chart?cht=qr&chs=300x300&choe=UTF-8&chld=|1&chl=http://www.infinity-dimensions.com/">

投げ込むパラメーターのデータによって細かくコントロールが可能です。

Google Chart APIのQRコード生成パラメーター一覧
パラメーター 必要種別 解説
cht=qr 必須 Google Chart APIへQRコード生成指定。
chs=<>x<高さ> 必須 画像サイズをピクセル数で指定。
chl=<データ> 必須 エンコードするデータを指定。数字(0~9)・英数字・バイナリバイト・漢字を指定することが可能。QRコード内のデータ型を混在させることはできません。データはUTF-8でURLエンコードする必要があります。
URLを指定する場合は最大2,000文字まで。それ以上をエンコードする場合はPOSTでデータを送信する必要があります。
choe=<文字コード> オプション エンコードするデータの文字コードを指定。デフォルトはUTF-8になります。Shift_JIS、ISO-8859-1も指定可能。
chld=<誤り訂正レベル>|<マージン幅> オプション 誤り訂正レベルはQRコードに汚れなどがあっても正確に読み取れるように、読み取り不能や読み取り間違いを修正する割合です。誤り訂正レベルが高いほどドットの数が増えます。下記の4レベルを指定します。デフォルトはレベルLになります。
  • L - レベルL:コード語の約7%が復元可能
  • M - レベルM:コード語の約15%が復元可能
  • Q - レベルQ:コード語の約25%が復元可能
  • H - レベルH:コード語の約30%が復元可能
マージン幅は実際のQRコードと画像の末端までの余白の幅になります。ピクセル数ではないので注意しましょう。

Google Chart APIでいろんなグラフやチャートの画像が生成可能

このGoogle Chart APIですが、QRコード以外にも棒グラフや円グラフ、レーダーチャート、はたまた世界地図なんかも生成可能です。

Google Chart APIの種類一覧
APIの種類 参考例
棒グラフ Google Chart APIで生成した棒グラフの例
線グラフ Google Chart APIで生成した線グラフの例
円グラフ Google Chart APIで生成した円グラフの例
メーターグラフ Google Chart APIで生成したメーターグラフの例
ボックスチャート Google Chart APIで生成したボックスチャートの例
レーダーチャート Google Chart APIで生成したレーダーチャートの例
分布チャート Google Chart APIで生成した分布チャートの例
ベン図形型図表 Google Chart APIで生成したベン図形型図表の例
数学式 Google Chart APIで生成した数学式の例
地図図表 Google Chart APIで生成した地図図表の例
関係接続図 Google Chart APIで生成した関係接続図の例
アイコン Google Chart APIで生成したアイコンの例

パラメーターを投げ込むだけでこれだけの図表や画像が生成できるなんてGoogle Chart API凄すぎます!!
パラメーターを手作業で作るのは大変ですが、ウィザード形式で生成する事も可能なので上手く使っていければとWebサイトの制作もかなり楽になるかと思います。

ただ唯一の欠点はデザインがダサい事だけですかね...