データのじかんでは、過去にAPIに関する記事を公開しました。
今回は実際にどんな風に活用されているのか?どんな風に活用することが可能なのか?について触れていきます。
まずはAPIについて振り返ります。APIとは、Application Programming Interfaceの略です。詳しくは前回の記事を参考にして頂ければと思いますが、Interface(インターフェース)とは「何か」と「何か」をつなぐものという意味であり、APIは端的に言えばソフト(アプリ)同士をつなぐものです。
APIはソフトウェアの一部を公開して、ほかのソフトウェアと機能を共有できるようになっています。一部プログラミングの知識が必要な面もありますが、最近はその知識が不要なものもあります。
ここでは、実際にAPIを活用する事例を紹介していきます。
金融(Finance)と技術(Technology)を組み合わせたものをFinTech(フィンテック)と呼びます 。例えば、QRコードを用いたキャッシュレス決済サービスである『PayPay』 を見聞きしたことのある人はほとんどだと思いますが、これがまさにFinTechです。FinTechは世界のトレンドであり、日本の金融機関もこれに乗り遅れないよう、自行のAPIを公開しています。
それを利用しているのが、freeeやマネーフォワードなどの家計簿アプリです。これらのアプリにAPIを連携させることによって、毎月の収支をアプリ上で見られるのです。
日本政府もAPIを公開しています。政府統計の総合窓口(e-Stat) では、国勢調査や犯罪統計、貯蓄動向調査などの政府のデータを取得可能です。この背景には、政府の持つ情報を公開することで、企業活動を活発化させたり、新しいビジネスを創出させたりすることが可能になり、ひいては日本経済の活性化につながるという狙いがあります。
これを利用しているのが、ESRIジャパンという会社が提供している様々なダッシュボードです。なかでも「新型コロナワクチン接種状況ダッシュボード 」は、行政のデータをうまく利用している好例と言えます。
WebサービスはAPIの開放に積極的です。APIの開放はアプリケーション同士の連携につながるので、利用者を増やすことにつながるからです。
例えば、チャットツールで有名な『チャットワーク』もAPIを公開しています。チャットワークAPIを使うことで、届いた未読のメールを自動でチャットワークに表示させたり、Googleスプレッドシートと連動させたりすることが可能です。
APIについて振り返ってみたところで、実際にAPIを使って自動化ツールを作ってみましょう。今回は、Googleフォームに入力された内容をチャットワークに自動で投稿する方法をご紹介します。(※多少のプログラミングの知識が必要なので、予めご了承ください。)
まずは『Googleフォーム』で投稿フォームを作ります。なんでもよいので、とりあえず作ってみてください。
今回は「出退勤を記録するフォーム」を作ってみました。日付と出勤時間、退勤時間を記録するだけのシンプルなものです。
チャットワークのAPIを利用するためには、「APIトークン」というものが必要です。チャットワークのAPIトークンは、「サービス連携>APIトークン」の場所にあります。ここで生成されたAPIトークンをコピーしてください(再発行も可能)。このAPIトークンはあとで使うので、メモ帳アプリなどにメモしておいてください。
出退勤を投稿する部屋の「ルームID」を調べます。ルームIDはルーム右上の歯車マークから「グループチャットの設定」をクリックすれば、画面下部に表示されています(上図の赤い囲み)。このIDもあとで使用するので、メモ帳アプリなどにメモしておきましょう。
いよいよGoogle Apps Scriptを作ります。
Googleフォームの回答のところから「Googleスプレッドシート」のボタンをクリックします。そして「新しいスプレットシートを作成」を選択し、「作成」をクリックします。
スプレッドシートの「拡張機能」から「Apps Script」を選びます。
そして、「コード.gs」の部分(上図の赤囲み部分)に、以下のコードを貼り付けます。
// 【編集対象】Chatwork API Token const token = ‘APIトークンを入力’; // 【編集対象】登録情報を通知するグループチャットのルームID const room_id = ‘ルームIDを入力’; function sendReport(e) { // 【編集対象】Googleフォームの項目に合わせる var time = e.namedValues[‘タイムスタンプ’]; var date = e.namedValues[‘日付’]; var attendance = e.namedValues[‘出勤時間’]; var leave = e.namedValues[‘退勤時間’]; // 【編集対象】Googleフォームの項目に合わせる var message = ”; message += “[info][title]出退勤記録[/title]”; message += “タイムスタンプ: ” + time + “\n”; message += “日付: ” + date + “\n”; message += “出勤時間: ” + attendance + “\n”; message += “退勤時間: ” + leave + “\n”; message += “[/info]”; // Chatworkへ送信 var client = ChatWorkClient.factory({token: token}) client.sendMessage({room_id: room_id ,body: message}); }
APIトークンとルームIDを入れ忘れないよう注意してください。
ライブラリの検索欄。に以下の文字列を入力し、検索します。
1nf253qsOnZ-RcdcFu1Y2v4pGwTuuDxN5EbuvKEZprBWg764tjwA5fLav
すると、上の図のように利用可能なライブラリが出てきますので、「追加」をクリック。
トリガーを選択します。
イベントの種類を選択の部分で「フォーム送信時」を選びます。なお、「実行する関数」は、コード.gsのものと一致させます。
警告を無視してGo to~(unsafe)を押します。
Allowをクリックします。
無事、Googleフォームに入力したものがチャットワークに投稿されました。
このように、APIを使えば、より便利な機能を実装できます。多少のプログラミングの知識が必要ですが、慣れればできるようになるはず。ぜひ今回使ったコードを改良して、自分なりのツールを作ってみてはいかがでしょうか?
【参考記事】
・FinTech(フィンテック)とは何ですか? | 日本銀行
・政府統計の総合窓口(e-Stat)−API機能へようこそ | 政府統計の総合窓口(e-Stat)
・新型コロナワクチン接種状況ダッシュボード(全国) | 政府機関オープンデータポータル
(安齋慎平)
メルマガ登録をしていただくと、記事やイベントなどの最新情報をお届けいたします。
30秒で理解!インフォグラフィックや動画で解説!フォローして『1日1記事』インプットしよう!