api
soundcloud

SoundCloud APIでoffsetが廃止された話

More than 1 year has passed since last update.

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が必要になった事で直列的な処理をしなければならなくなったので時間がかかるようになり個人的には残念な変更です。