BASEのAPIを叩いて商品一覧を取得する際の注意点


[前回までの記事はこちら]

PythonでBASEのAPIを叩いて商品データを取得してみる -その1-

PythonでBASEのAPIを叩いて商品データを取得してみる -その2-

さて、BASEのAPIで商品情報の一覧を取得する、「GET /1/items」について。

前回少し気になっていた、limitパラメータに指定できる上限値は100なのに、それより多くのデータを取得したい場合はどうすれば良いんだろう?

という疑問について検証を行った結果、無事解決しました。

予想通り「offset」に値を設定する事で、その分データの取得開始位置をズラす事ができる様です。

今回、以下の様に商品名に連番を付け、001~150までのテストデータを登録して試してみました。

limit=150で検証

まずはlimitに指定する値を上限値100を超えた「150」を設定して実行してみます。

↓結果はこちら。

一応レスポンスエラーにはならないみたいですが、取得できるデータ数はlimitの上限(100個)までみたいです。

ちなみに微妙に番号がズレていたり行数が「103」になっているのは、元々商品が2つ登録されており、内一つにバリエーションが設定されているデータがあったからです。

詳しくは過去記事参照。

PythonでBASEのAPIを叩いて商品データを取得してみる -その2-

offset=50で検証

ではlimitは100に戻し、今度はoffsetに「50」の値を指定した状態で実行してみます。

結果は・・・

先頭のデータは49番からスタートし、終わりは148番となっています。

offsetに指定した値分、取得位置がズレているのが分かりますね。


スポンサーリンク

offset=100で検証

では最後に152点しか登録されていない状態で、「limit=100」、「offset=100」を指定して実行してみます。

結果はこちら。

先頭のデータは99番から始まり、終わりは53行目の150番。

取得できる分のみデータが返って来たという事ですね。

もちろんいずれの処理もエラーは無し。

結論

BASEのAPIを使って101点以上の商品データを取得したい場合は、offsetを使って位置を調整しながら取得する。

という事で。

ちなみに、「offsetに指定した値」の『』の位置から取得が行われる点に注意です。

limit=100として100個のデータを取得した後に101個目以降のデータを続けて取得したい場合、『offsetに指定する値は「100』となります。

次回は更新と削除の処理を試してみようと思います。

関連記事と広告

シェアする

  • このエントリーをはてなブックマークに追加

フォローする