TL;DR
- 2017/8/22 までに開発者アカウントを認証しない場合、1日に呼び出せるAPIの回数が 1,000 回に制限される
- 開発者アカウントを認証すればこの回数が 100,000 回に増える
- ログイン不要の userless requests は対象外(呼び出せる回数に変更なし)
認証は https://ja.foursquare.com/developers/verify から行える。(クレジットカードが必要。課金されることはないとのことだが自己責任で)
はじめに
今年の6月に foursquare asia を名乗るアカウントから「Foursquareの開発者のアカウントを認証してください」というメールが届きました。
・ ・ ・
なんだか日本語があやしい🤔
さらに、クレジットカードの登録も必要になるとのことなので、しばらく様子を見ることにしました。
アプリが機能しなくなる
8/23 の夜、Foursquare API を利用している私のアプリが動いていないことに気付きます。
「あのメールは本物だったのか…!」
慌てて API のレスポンスを調べてみると
HTTP/1.1 429 Too Many Requests X-Cache-Hits: 0 Tracer-Time: 2 Content-Length: 134 X-RateLimit-Limit: 0 X-RateLimit-Remaining: 0
が返ってきていました。どうやら、1日1,000リクエストの制限に達してしまったようです。
ちなみに、1,000リクエストというのは、ユーザ一1人あたりのリミットではなく、アプリ全体のリミットです。例えば100人ユーザーがいるアプリの場合、ひとり1日10回しかAPIを呼び出せない計算になります。(これはキツイ)
あらためて公式ドキュメントを見てみると、
On August 22, 2017, if you have not verified your account, all of your existing apps will be subject to a call quota of 1,000 calls per day. You will still be able to verify your account at any time to receive 100,000 calls per day for one primary app.
の行がいつの間にか追記されていました。昨日ぐらいからこのルールが適用されたようですね。(CHANGELOGには無かったぞ!)
ちなみに、ログイン不要で使える userless requests は対象外のようです。つまり、
https://api.foursquare.com/v2/venues/search?ll=40.7,-74& client_id=CLIENT_ID&client_secret=CLIENT_SECRET&v=YYYYMMDD
のように、oauth_token
を使わずに API を利用しているアプリは何の影響もありません。
開発者アカウントを認証してみる
取り急ぎ、クレジットカードを登録して開発者アカウントを認証してみました。
Rate Limits を読む限り、次のリセット時刻(midnight UTC と書かれている)が来るまで制限は解除されないようなので、ひたすら待ちたいと思います。
アプリ利用者の皆様にはご迷惑をお掛けいたしますが、復旧まで今しばらくお待ちいただけますようお願いいたします。
2017.8.24 9:00:制限が解除されました!