APIの利用方法

基本的な使い方(全件取得)

作成したAPIには、以下のURLでアクセスできます。

https://api.sssapi.app/<API_ID>

このAPIを呼び出すと、スプレッドシートの全件取得できます。

$ curl -s https://api.sssapi.app/<API_ID> | jq
[
  { "id": 1, "name": "Alice" },
  { "id": 2,  "name": "Bob" }
]

1件取得

A列の値を指定することで、1件だけ取得することも可能です。

https://api.sssapi.app/<API_ID>/<A列の値>

$ curl -s https://api.sssapi.app/<API_ID>/2 | jq
{ "id": 2, "name": "Bob" }

以下のスプレッドシートのAPIの場合、A列のidと一致する行を返します。

AB
idname
1Alice
2Bob

ページネーション

クエリパラメタを指定することでページ分割して取得することができます。

https://api.sssapi.app/<API_ID>?page=2&page_size=2

$ curl -s "https://api.sssapi.app/<API_ID>?page=2&page_size=2" | jq
[
  { "id": 3, "name": "Chris" },
  { "id": 4, "name": "Dave" }
]
param nametypedetails
pagerequireページ数。1以上で指定
page_sizeoptional1ページあたりの件数。デフォルトは10件

また、limit / offsetを利用することも可能です。

https://api.sssapi.app/<API_ID>?limit=2&offset=2

$ curl -s "https://api.sssapi.app/<API_ID>?limit=2&offset=2" | jq
[
  { "id": 3, "name": "Chris" },
  { "id": 4, "name": "Dave" }
]
param nametypedetails
limitoptional取得件数。
offsetoptionalオフセット件数。

フィルタリング

以下の形式のクエリパラメタを指定することでフィルタリングした結果を取得できます。

filter__<FIELD_NAME>__<FILTER_TYPE>

$ curl -s "https://api.sssapi.app/<API_ID>?filter__id__gt=2" | jq
[
  { "id": 3, "name": "Chris" },
  { "id": 4, "name": "Dave" }
]
filter typedetails
exact完全一致
contains部分一致
startswith前方一致
endswith後方一致
gtより大きい(>)
gte以上(>=)
ltより小さい(>)
lte以下(>=)
array_contains配列内の要素に含まれる。
※指定フィールドが配列の場合のみ
$ curl -s "https://api.sssapi.app/<API_ID>?filter__group__array_contains=B" | jq
[
  { "id": 3, "name": "Chris", "group": ["A", "B"] },
  { "id": 4, "name": "Dave" , "group": ["B"] },
]

ソート/並び替え

以下の形式のクエリパラメタを指定することでソートした結果を取得できます。

order_by=<FIELD_NAME>

,区切りで<FIELD_NAME>を複数指定できます。

order_by=<FIELD_NAME>,<FIELD_NAME>

また、降順にしたい場合は、-を先頭に記載してください。

order_by=-<FIELD_NAME>

$ curl -s "https://api.sssapi.app/YOUR_API_ID/?order_by=-id" | jq
[
  { "id": 6, "name": "Frank", "group": ["F"]},
  { "id": 5, "name": "Ellen", "group": ["E", "A"]},
  ...
]