基本的な使い方(全件取得)
作成した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
と一致する行を返します。
A | B |
---|---|
id | name |
1 | Alice |
2 | Bob |
もし、A列に同じ値がある場合は最初の行のみを返します。
指定した値のすべての行を取得したい場合は、フィルター機能を利用ください。
ページネーション
クエリパラメタを指定することでページ分割して取得することができます。
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 name | type | details |
---|---|---|
page | require | ページ数。1以上で指定 |
page_size | optional | 1ページあたりの件数。デフォルトは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 name | type | details |
---|---|---|
limit | optional | 取得件数。 |
offset | optional | オフセット件数。 |
フィルタリング
以下の形式のクエリパラメタを指定することでフィルタリングした結果を取得できます。
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 type | details |
---|---|
exact | 完全一致 |
not | 完全一致を除く |
contains | 部分一致 |
startswith | 前方一致 |
endswith | 後方一致 |
gt | より大きい(>) |
gte | 以上(>=) |
lt | より小さい(>) |
lte | 以下(>=) |
array_contains | 配列内の要素に含まれる。 ※指定フィールドが配列の場合のみ |
array_not_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"] },
]
フィールドが空文字やnull
の場合は、値を空にしてAPIを呼び出してください。
$ curl -s "https://api.sssapi.app/<API_ID>?filter__name__exact=" | jq
[
{ "id": 5, "name": null }
]
ソート/並び替え
以下の形式のクエリパラメタを指定することでソートした結果を取得できます。
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"]},
...
]