基本の書き方
スプレッドシートからJSONへの基本的な変換は、以下の形です。
- 1行目をフィールドとして利用
- 1行ごとにオブジェクトへ変換
このスプレッドシートの場合、
以下のようなJSONを返すAPIを作成します。
この例のfavorites
のように、同じフィールド名を持つ列が複数ある場合は、
配列形式に変換します。
よくある失敗例
うまく変換されない場合は、以下の点をご確認ください。
- 1行目や1列目が空ではないか?
- APIオプションの読み込み開始位置の変更で変更可能です。
- 途中に空行/空列がないか?
- 共有は正しく設定されているか?
- API 作成の流れをご確認ください。
- スプレッドシートのURLが正しく設定されているか?
- スプレッドシートではなく、Excel(XLSX)などではないか?
サンプルのスプレッドシートもご用意しております。
共有権限も設定済みなので、こちらも合わせてご確認ください。
また、Google Workspaceの共有制限により、
システムアカウントの共有ができない場合は、
Googleアカウントとの連携をお試しください。
ログインアカウントでスプレッドシートを読み込むことができ、
システムアカウントとの共有が不要でご利用いただけます。
Settingsの「アカウント連携」より、設定ください。
変換範囲
デフォルトの場合、JSON形式へは以下の範囲で変換します。
- 1行目から空セルまで
- 1列目から空セルまで
空欄セル以降は、APIの結果に反映されないため、
メモ欄や追加予定の行として利用できます。
また、読み込み開始位置は、
APIオプションの読み込み開始位置の変更で変更可能です。
なお、プランごとの最大行数を超えるシートの場合、
ヘッダ行を除く、最大行数までのJSONに変換します。
(Freeプランであれば、51行までが対象)
スプレッドシート内の関数
スプレッドシート内で関数を利用している場合、
APIは関数の結果の値を返します。
また、GOOGLETRANSLATE()
関数を利用することで、
多言語翻訳した結果をAPI化することもできます。
計算はスプレッドシートが行っており、スプレッドシートを開いた際に再計算されます。
そのため、GASやSheets APIを利用した自動書き込みと組み合わせて、APIの自動更新を行う場合、
計算結果が更新されない場合がございますので、ご注意ください。
その場合は、
- 書き込み後に再計算したり、
- 関数を使わず、計算結果を書き込む
など、再計算の結果を受け取れる形でスプレッドシートへ書き込んでください。