focaccia
GoogleスプレッドシートにNode.jsでデータを追加する方法

GoogleスプレッドシートにNode.jsでデータを追加する方法

渡邊陽平
渡邊陽平

Googleスプレッドシートは、Node.jsなどのプログラムを通じてデータを保存することもできます。これを使えば、たとえば、お問い合わせフォームのデータを直接Googleスプレッドシートに保存したりと、様々な業務効率化が可能になります。

本記事では、GoogleスプレッドシートにNode.jsでデータを追加する方法を紹介します。

Google Cloud でプロジェクトを作成

まずは、Google Cloud のプロジェクトを作成します。

Google Cloud(旧Google Cloud Platform)は、Google が運営するクラウドサービスです。

プロジェクトをすでに持っている方は、そちらを使っていただいても大丈夫です。

Google Sheets API を有効化

次に、Google Sheets API の有効化を行います。

Google Sheets API を使うことで、スプレッドシートの内容を読み取ったり、データを書き込んだりすることができます。

Google Cloud 内の検索窓で「Google Sheets API」と検索し、「有効にする」ボタンを押します。

サービスアカウントを作成

次に、Google Cloud でサービスアカウントを作成します。

サービスアカウントとは、プログラム専用のアカウントのようなものです。今回は、Node.js にこのサービスアカウントを渡して、スプレッドシートのAPIを実行する形になります。

サービスアカウントを作成するには、検索窓に「APIとサービス」と入力し、「APIとサービス」のページに移動します。左側の「認証情報」メニューにて、「認証情報を作成」を押し、「サービスアカウント」を選択します。

「サービスアカウント名」と「サービスアカウントID」に任意の文字列を入力して、「完了」ボタンを押します。

これで、サービスアカウントの作成は終了です。

※ サービスアカウントには、メールアドレスが割り当てられますが、このメールアドレスはあとで使いますので、コピーしておいてください。

秘密鍵ファイルを取得

次に、先ほど作成したサービスアカウントの秘密鍵ファイルを作成していきます。

秘密鍵ファイルは、Node.js からスプレッドシートのAPIを実行するために必要となります。

対象のサービスアカウントのページにて、「鍵」タブから「キーを追加」を押し、「新しい鍵を作成」を選択します。以下のダイアログが表示されますので、「JSON」を選択してください。

これで、秘密鍵ファイルの作成は完了です。

スプレッドシートの共有設定

次に、先ほど作成したサービスアカウントが対象のスプレッドシートを編集できるように、共有設定を行っていきます。

データ追加したいスプレッドシートを開き、「共有」ボタンを押して、先ほど作成したサービスアカウントのメールアドレスを入力します。権限は「編集者」を選択してください。

最後に、「送信」ボタンを押します。

コードを実装する

最後に、Node.js でコードを実装します。

コードの例は、GitHub Gist にて公開していますので、参考にしてみてください。

このコードを実行すると、以下の画像のように、一行ずつデータを追加していくことが可能です。

まとめ

本記事では、GoogleスプレッドシートにNode.jsでデータを追加する方法を紹介しました。

業務効率化にとても便利ですので、ぜひ試してみてください。

この記事を書いた人
渡邊陽平
渡邊 陽平
株式会社フォカッチャ代表。九州大学卒業後、Wano株式会社(TuneCore Japan)にてWebエンジニアとして勤務。独立後、個人事業主を経て株式会社フォカッチャを設立。音楽業界や中小企業・スタートアップ向けにWebシステム開発を行っています。