実際APIを使ってみたら、思ったよりできた!
APIを使ってGoogleフォームに入力した内容を
チャットワークに自動で投稿してみよう!

Share!

データのじかんでは、過去にAPIに関する記事を公開しました。

今回は実際にどんな風に活用されているのか?どんな風に活用することが可能なのか?について触れていきます。

APIとは

まずはAPIについて振り返ります。APIとは、Application Programming Interfaceの略です。詳しくは前回の記事を参考にして頂ければと思いますが、Interface(インターフェース)とは「何か」と「何か」をつなぐものという意味であり、APIは端的に言えばソフト(アプリ)同士をつなぐものです。

APIはソフトウェアの一部を公開して、ほかのソフトウェアと機能を共有できるようになっています。一部プログラミングの知識が必要な面もありますが、最近はその知識が不要なものもあります。

APIの活用例

ここでは、実際にAPIを活用する事例を紹介していきます。

銀行系API


金融(Finance)と技術(Technology)を組み合わせたものをFinTech(フィンテック)と呼びます 。例えば、QRコードを用いたキャッシュレス決済サービスである『PayPay』 を見聞きしたことのある人はほとんどだと思いますが、これがまさにFinTechです。FinTechは世界のトレンドであり、日本の金融機関もこれに乗り遅れないよう、自行のAPIを公開しています。

それを利用しているのが、freeeやマネーフォワードなどの家計簿アプリです。これらのアプリにAPIを連携させることによって、毎月の収支をアプリ上で見られるのです。

政府系API


日本政府もAPIを公開しています。政府統計の総合窓口(e-Stat) では、国勢調査や犯罪統計、貯蓄動向調査などの政府のデータを取得可能です。この背景には、政府の持つ情報を公開することで、企業活動を活発化させたり、新しいビジネスを創出させたりすることが可能になり、ひいては日本経済の活性化につながるという狙いがあります。

これを利用しているのが、ESRIジャパンという会社が提供している様々なダッシュボードです。なかでも「新型コロナワクチン接種状況ダッシュボード 」は、行政のデータをうまく利用している好例と言えます。

Webサービス系API


WebサービスはAPIの開放に積極的です。APIの開放はアプリケーション同士の連携につながるので、利用者を増やすことにつながるからです。

例えば、チャットツールで有名な『チャットワーク』もAPIを公開しています。チャットワークAPIを使うことで、届いた未読のメールを自動でチャットワークに表示させたり、Googleスプレッドシートと連動させたりすることが可能です。

APIを活用する方法~Googleフォームの入力内容をチャットワークに投稿

APIについて振り返ってみたところで、実際にAPIを使って自動化ツールを作ってみましょう。今回は、Googleフォームに入力された内容をチャットワークに自動で投稿する方法をご紹介します。(※多少のプログラミングの知識が必要なので、予めご了承ください。)

Googleフォームを作る


まずは『Googleフォーム』で投稿フォームを作ります。なんでもよいので、とりあえず作ってみてください。

今回は「出退勤を記録するフォーム」を作ってみました。日付と出勤時間、退勤時間を記録するだけのシンプルなものです。

チャットワークAPIを取得する


チャットワークのAPIを利用するためには、「APIトークン」というものが必要です。チャットワークのAPIトークンは、「サービス連携>APIトークン」の場所にあります。ここで生成されたAPIトークンをコピーしてください(再発行も可能)。このAPIトークンはあとで使うので、メモ帳アプリなどにメモしておいてください。

出退勤を投稿する部屋の「ルームID」を調べます。ルームIDはルーム右上の歯車マークから「グループチャットの設定」をクリックすれば、画面下部に表示されています(上図の赤い囲み)。このIDもあとで使用するので、メモ帳アプリなどにメモしておきましょう。

Google Apps Scriptを利用する


いよいよ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)新型コロナワクチン接種状況ダッシュボード(全国) | 政府機関オープンデータポータル

(安齋慎平)

関連記事

人気のカテゴリ