APIの設定オプション

キャッシュによる高速化

このオプションを利用すると、CDNにキャッシュし、
レスポンスを高速化することができます。

20列x2000行の場合、10回の平均では約5倍はやくなります。

  • キャッシュなし: 平均1.6s(最大1.8s/最小0.8s)
  • キャッシュあり: 平均0.3s(最大0.8s/最小0.2s)

キャッシュに保存する時間は1分から30日まで選択できます。

なお、キャッシュを有効にすると公開状態になるため、
ドメイン制限などが無効になります。
利用する際は、機密性の高い情報が含まれていないか確認ください

また、古いキャッシュはAPIの更新時に削除されますが、
完全に削除されるまですこし時間がかかること、ご留意ください。

読み込み開始位置の変更

デフォルトでは、1列目/1行目から読み込みを開始しますが、
このオプションを利用すると、任意の位置から読み込みを開始できます。

「読み込み開始位置」オプション

この例では3列目/2行目から開始し、黄色い背景の部分がAPI化する対象となります。

「読み込み開始位置」オプションシート例

1行の場合は配列にしない

一行のみのシートの場合、APIのレスポンスを配列ではなくオブジェクトで受け取りたいときは、
このオプションを有効にし、再度更新し直してください。

「1行の場合は配列にしない」オプション

オプションがOFFの場合は配列ですが、

[
  {
    "id": 1,
    "name": "Alice",
    "age": 20,
    "favorites": ["cake", "sushi"]
  }
]

オプションをONにすると、オブジェクトの形式になります。

{
  "id": 1,
  "name": "Alice",
  "age": 20,
  "favorites": ["cake", "sushi"]
}

オプションがONの場合でも、2行以上ある場合は配列になります。

ドット(.)区切りのフィールドをネストに変換

APIのレスポンスをネストさせたいときは、
このオプションを有効にし、再度更新し直してください。

「ドット(.)区切りのフィールドをネストに変換」オプション

オプションをONにすると、ドット(.)区切りのフィールドがネストしたオブジェクトに変換されます。
この例では、user.nameuser.ageがオブジェクトに変換しています。

オプションがOFFの場合。

[
  {
    "id": 1,
    "user.name": "Alice",
    "user.age": 20,
    "favorites": ["cake", "sushi"]
  },
  {
    "id": 2,
    "user.name": "Bob",
    "user.age": 300,
    "favorites": ["coffee"]
  }
]

オプションがONの場合。

[
  {
    "id": 1,
    "user": { "name": "Alice", "age": 20 },
    "favorites": ["cake", "sushi"]
  },
  {
    "id": 2,
    "user": { "name": "Bob", "age": 300 },
    "favorites": ["coffee"]
  }
]

また、フィールド名の代わりにインデックスを利用すると、 オブジェクトの配列に変換することができます。

iduser.0.nameuser.0.ageuser.1.nameuser.1.age
1Alice20Bob30
[
  {
    "id": 1,
    "user": [
      { "name": "Alice", "age": 20 },
      { "name": "Bob", "age": 30 }
    ]
  }
]

自動更新

スプレッドシートが更新された時に、APIを自動で更新したいときは、 このオプションをONにしてください。

自動更新オプションでは、3分毎に変更時刻のチェックをしています。
また、ファイル単位の通知ため、更新していないシートのAPIが更新される場合があります。

更新の確認には、Google Drive APIを利用しています。
共有設定の権限によって、取得できる更新時間の種類が異なります。

Googleフォームと連携した場合など、ブラウザ以外で変更する場合には、
編集権限を付与いただくと広い範囲で更新のチェックを行います。

行数をIDとして追加

このオプションをONにすると、
idフィールドが追加され、行数が設定されます。

Googleフォームのように自動で追記されるようなスプレッドシートなど、
A列に追加しにくい場合、このオプションを利用すると行数をIDとして扱うことができます。

オプションがOFFの場合。

[{ "user": "Alice" }, { "user": "Bob" }]

オプションがONの場合。

[
  { "id": 1, "user": "Alice" },
  { "id": 2, "user": "Bob" }
]

リスト全体をオブジェクトに変換

このオプションを有効にすると、リスト全体が1つのオブジェクトに変換されます。

多言語化(i18n対応)時の翻訳メッセージの一覧など、
各言語ごとにグループ化して受け取りたい場合に効果的です。

idjaenko
helloこんにちはHello안녕하세요
good_byeさようならgood bye안녕
good_morningおはようgood morning안녕
good_nightおやすみgood night잘자요

・サンプルのスプレッドシート
サンプル(翻訳)

そのまま変換

そのまま変換を指定した場合、各行がA列目の値配下に設定されます。

{
  "hello": {
    "ja": "こんにちは",
    "en": "Hello",
    "ko": "안녕하세요"
  },
  "good_bye": {
    "ja": "さようなら",
    "en": "good bye",
    "ko": "안녕"
  },
  "good_morning": {
    "ja": "おはよう",
    "en": "good morning",
    "ko": "안녕"
  },
  "good_night": {
    "ja": "おやすみ",
    "en": "good night",
    "ko": "잘자요"
  }
}

転置して変換

転置して変換を指定した場合、各列が1列目の値配下に設定されます。

{
  "ja": {
    "hello": "こんにちは",
    "good_bye": "さようなら",
    "good_morning": "おはよう",
    "good_night": "おやすみ"
  },
  "en": {
    "hello": "Hello",
    "good_bye": "good bye",
    "good_morning": "good morning",
    "good_night": "good night"
  },
  "ko": {
    "hello": "안녕하세요",
    "good_bye": "안녕",
    "good_morning": "안녕",
    "good_night": "잘자요"
  }
}

値が空のフィールドを除く

このオプションを有効にすると、セルが空のフィールドが含まれなくなります。

以下のスプレッドシートの場合、

idnamesmalllarge
1AAA100200
2BBB300
3400

OFFのままだと、すべてのフィールドを含みますが、

[
  { "id": 1, "name": "AAA", "small": 100, "large": 200 },
  { "id": 2, "name": "BBB", "small": 300, "large": null },
  { "id": 3, "name": null, "small": null, "large": 400 }
]

ONの場合、空でないフィールドのみ表示するようになります。

[
  { "id": 1, "name": "AAA", "small": 100, "large": 200 },
  { "id": 2, "name": "BBB", "small": 300 },
  { "id": 3, "large": 400 }
]

また、「ドット(.)区切りのフィールドをネストに変換」と併用も可能です。

iditem.nameitem.size.smallitem.size.large
1AAA100200
2BBB300
3CCC400
4DDD
[
  {
    "id": 1,
    "item": {
      "name": "AAA",
      "size": { "small": 100, "large": 200 }
    }
  },
  {
    "id": 2,
    "item": {
      "name": "BBB",
      "size": { "small": 300 }
    }
  },
  {
    "id": 3,
    "item": {
      "name": "CCC",
      "size": { "large": 400 }
    }
  },
  {
    "id": 4,
    "item": { "name": "DDD" }
  }
]

なお、以下の場合には対応しておりません。

  • 「リスト全体をオブジェクトに変換」がON
  • 「1行の場合は配列にしない」がON