SoundCloudって結構有名な音楽サービスだと思うんですが意外とAPI使ってる所少なくて、Qiitaでそれ系の記事を見た事ないです。
SoundCloud APIでoffsetが廃止された話
本題に入りますと、SoundCloudで検索やらお気に入りで曲情報を取得する時に50件目から100件取得したいなんて事があります。
この時のパラメータは今までだとlimit=100&offset=50
となります。
ただ、いつの間にかこのoffset
パラメータが廃止されていました( ゚Д゚)
(見たところ、完全に廃止されたわけではなくoffset=200は有効でした。ただoffset=400はダメでした。)
開発者ブログ
Linked partitioning to replace offset-based pagination
詳細はこのSoundCloud開発者ブログに載ってるんですが、ざっくり説明すると
offsetベースのページングをリンクベースのページングに変更します
って感じです。
じゃあどうすればいいの?
リンクベースではoffset
の代わりにlinked_partitioning=1
というパラメータを付けると返ってくる値にnext_href
という次の結果を返すリンクが付いてきます。
多分、ツイッターとかと同じ仕様ですかね?
その他
楽になった所もある一方、検索結果やお気に入り、タイムラインを1000件取得したい場合などにこれまでは並列リクエストで対応できた物が、next_href
が必要になった事で直列的な処理をしなければならなくなったので時間がかかるようになり個人的には残念な変更です。