前回は中小企業庁が提供する「官公需情報ポータルサイト」が提供するAPI「官公需情報ポータルサイト検索API(以下、官公需APIとします)」に対して、ノーコードツール「Make」からアクセスして、データが取得できるところまで確認しました。 今回はそのデータをGoogle Spreadsheetに書き込んでいきます。今回でついに完結です!
今回は、前回取得したデータ10件のタイトル( ProjectName
)、登録日付( Date
)、概要( ProjectDescription
)を Google Spreadsheetに一覧として書き出したいと思います。Google Spreadsheetは、ブラウザ上で使えるExcelのようなものです。Googleのアカウントを持っていれば誰でも使えますので、知らない方は今回を機に試してみてください。
まずは書き出す準備をしますのでGoogleにログインした状態で、
https://docs.google.com/spreadsheets/u/0/
にアクセスしてください。下記のような画面が出てきますので、「空白」をクリックしてください。 そうするとおなじみの画面が出てきます。ここでは、このスプレッドシートの名前だけを変更します。「無題のスプレッドシート」をクリックすると名前を変更できます。 ここでは「入札情報」と入力しておきます。また、A列の一番上に「タイトル」、B列に「対象」、C列に「概要」と記載しておきます。 いったん、ここではこれでスプレッドシートでの作業は終わりです。
makeに戻ります。makeにはGoogle Spreadsheetにアクセスできるブロックも用意されています。先程作ったHTTPのブロックの右の出っ張りにマウスのカーソルを乗っけると、「+」のボタンが出てきます。これで、Google Spreadsheetにアクセスするためのブロックをつなぎます。 「+」を押すと、先程同様に大きな「+」マークが現れますので、虫眼鏡マークのところに「google sheets」と入力します。「Google Sheets」というのをクリックします。 「Add a Row」を押します。これは、Google Spreadsheetに1行追加するという機能を持つブロックとなります。 自動的に設定画面が表示されます。まずはmakeと自分のGoogleアカウントを連携する必要があります。Connectionの横にある「Add」を押すと、「Create a connection」というメニューが表示されるので、その右下の「Sign in with Google」をクリックします。自分のGoogleとの連携画面が出ますので、ご自身のGoogleのユーザー名やパスワードなどを入力して、連携を完了してください。 連携が成功すると「Connection」に「My Google connection」と表示されます。次に、「Spreadsheet ID」の「Click here tor choose file」をクリックします。 そうすると、ご自身のGoogle Spreadsheetの一覧が表示されますので、虫眼鏡マークのところに先程作った「入札情報」を選択します。 その後、シート内のどこにどのような内容を書き込むかを指定します。
これでいったん、先程と同じく保存をし、「Run once」を押してみましょう。HTTPとGoogle Sheetsの両方のブロックの上に「1」が出てこれば成功です。 先程作ったGoogle Spreadsheetを見てみましょう。 20件あったのに、1行しか書かれていません。これは、HTTPが受信したデータ10件がいっぺんに次のブロックに送られているためです。
10件を全て書くには、この10件のかたまりをバラバラにして、1行ずつGoogle Sheetsのブロックに送る必要があります。嬉しいことに、このバラバラにする機能を持つブロックもあります。 画面下の歯車のようなアイコン「TOOLS」をクリックし、「Iterator」を選択します。そうすると、Iteratorという大きなアイコンが出てきます。 IteratorのブロックをHTTPとGoogle Sheetsの間にドラッグ&ドロップすると、2つのブロックの間にIteratorブロックが勝手に間に入ってくれます。 このようになれば成功です。Iteratorをクリックすると、設定画面が出てきます。「Array」をクリックすると、うまく連結されていればAPIが取得したデータの中身が表示されます。今回は、「items[]」が20件のデータが含まれている部分ですので、「Data」「Results」「SearchResults[]」配下の「SearchResult[]」をクリックし、その後「OK」を押します。 次に、Google Sheetsブロックをクリックします。先程設定したValuesをいったん削除したあと、今度は緑色の項目が選択できると思いますので、それぞれ「ProjectName」「Date」「ProjectDescription」それぞれの配下の「1」をクリックします。その後、「OK」をクリックします。 また、Google Spreadsheetに戻って、今あるレコードを消しておきます。 それではこの状態で先程と同じく保存および「Run once」をクリックしてみます。今度はGoogle Sheetsの吹き出しが1から10まで一つずつ増えていくのがわかると思います。Iteratorが10件のデータを一つずつ次のブロックに投げている証拠です。 吹き出しが「10」になったら、Google Spreadsheetを見てみましょう。10行追加されていると思います! これで、APIから取得したデータをすべてGoogle Spreadsheetに書き込むことができました!
5回にわたりノーコードツール「Make」とAPIの仕組みについて説明してきました。このように、サーバーがなくても、プログラムをしなくてもブロックを連結する感覚でアプリケーションを作れます。 すこしプログラム的な思考が必要なところもありますが、いくつか作っていくうちに慣れていくと思いますので、是非他のAPIにもチャレンジしてみてください!
サムライアプスでは、このようなサーバーレス&ノーコードツールを使ったアプリケーション開発を支援しています。もし、ご興味があれば、お気軽にお問い合わせください。
これにてご免!