2017/8/22 から Foursquare API の Rate Limits ルールが変わったよ
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:制限が解除されました!
【StackOverflow活動日記】ブログのサイドメニューにバナーを貼ってみた
自分のウェブサイトに Stack Overflow のプロフィールバナーを貼れることを知ったので、やり方をメモしておきます。
- Stack Overflow を開く
- ヘッダーの右にある自分のアイコンをクリック
- 画面上部にある「Edit Profile & Settings」をクリック
- 左メニューにある「Flair」をクリック
- 画面の下の方にある「How do I use it?」の HTML をコピーして自分のウェブサイトにペースト
これだけです!
テーマも4種類ほど用意されているようですね。
「Hotdog」は見た目も強烈で目立ちそうですが、使い所が難しそうです🌶
【StackOverflow活動日記】WKWebView reload() がページをリフレッシュしてくれない件
完全に思いつきだけど、Stackoverflow活動 のログをなるべく残していきたいと思う。
Stackoverflow で何か回答してみたいけど、どんな風に回答したらよいかわからない人の参考になれば幸いである。
今回解決した質問はこちら。
the first time load web page fail at offline. then I connect network call reload() to refresh current page, but it is not work, the WKNavigationDelegate can't get any callback.
初回ロード時にオフラインで失敗した場合、再びオンラインになった際に reload()
を呼んでもページをリフレッシュしてくれないよ!という内容。
実際にコードを書いて試したところ、確かに reload()
呼んでもウンともスンとも言わない。
調べてみると、WKWebView
の url
プロパティ(現在表示しているページのURLがセットされる)には初回ロード時に失敗すると nil
がセットされることがわかった。
reload()
メソッドはこのURLを再読み込みしようとするため、何度実行してもリフレッシュされなかったわけだ。この仕様は今まで知らなかったので勉強になった。
というわけで、ページをリフレッシュする際は url
プロパティをチェックするといいよ、といった内容をサンプルコード付きで回答した。
後日、私の回答が承認され、reputation は 2350 になった。
この調子で 2500 目指すぞ💪
StackOverflow、昨年リリースした Documentation の投稿受付を終了
去年リリースされた StackOverflow の Documentation というサービスを覚えているでしょうか?
上記の紹介記事も300以上ブックマークされていることから、日本でも一部では注目されていたのではないでしょうか。
その Documentation ですが、静かにその役目を終えようとしています。
文中では
We still think Stack Overflow Documentation is a good idea.
「我々は今もなお Documentation は良いアイデアだと思っている」という考えは強調しつつも
By May, it was clear we weren't on the right path. New users weren't coming to Documentation. So we went back to the drawing board and started another round of user interviews focused on Transact SQL. We brought on a user experience researcher to help us interview technical writers. The results were encouraging in the sense that we know a lot more about what makes for great documentation and how we might support that effort.
以前から新しいユーザー集めに苦戦していたことは認めており、それを解決するために色々と試行錯誤を重ねていたようです。
But it was also clear fixing Documentation would require a significantly larger team.
しかし、すべてを解決するためには莫大なリソースが必要になることもよくわかっていたようです。
今後
投稿されたコンテンツの扱いについては、今後ユーザーと議論しながら決めていくようです。最低限、テキストのアーカイブは提供されるとのことです。
Documentation によって獲得した reputation やバッジの取扱についても詳しく書かれているので、気になる方は読んでみると良いでしょう。
iOS 11にアップデートしたら「○○が位置情報を利用中」という青いバーが常に表示されるようになった場合の対処法
iOS 11にアップデートした直後、次のような「○○が位置情報を利用中」という青いバーが常に表示されるようになった場合の対処法です。
※NDA期間中につき、スクリーンショットはiOS 10のものを使用しています
1. どのアプリが青いバーを表示しているか確認
「○○が位置情報を利用中」の○○の部分がこの青いバーを表示しているアプリの正体です。上記の例だと、Google Maps がそれにあたります。
2. 位置情報の利用設定を変更
設定アプリを起動します。
※NDA期間中につき、スクリーンショットはiOS 10のものを使用しています
プライバシー>位置情報サービス>アプリ名
の順にタップします。
※NDA期間中につき、スクリーンショットはiOS 10のものを使用しています
「常に許可」以外 を選択することで青いバーは表示されなくなります。
注意
「このAppの使用中のみ許可」を選択した場合、当然そのアプリは起動している間しか位置情報を利用できなくなります。アプリによっては起動中以外も位置情報を取得し続けることが前提で作られているものもあります。その場合はアプリが正常に動かなくなる可能性もあるのでご注意下さい。(自己責任でお願いします)
なぜ青いバーが出るようになったのか?
技術的な理由を知りたい方は下記エントリをご覧ください。
【iOS 11】#WWDC17 What's New in MapKit メモ
おっ MapKit のビデオがアップされてるので見よう Check out What's New in MapKit from #WWDC17 https://t.co/MJjjP2O8Wj
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
MKMapView.mapType に mutedStandard が追加されてる #WWDC17 pic.twitter.com/DLATdvixNr
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
予想通り、地図上のトラッキングボタン、コンパスボタン、スケールボタンのクラスが追加されてる #wwdc17 pic.twitter.com/Y75YkY1ELi
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
iOS 11 から MKMarkerAnnotationView が追加されてる。従来のピンと比べるとだいぶ大きめ #wwdc17 pic.twitter.com/AUvA4lQGvr
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
MKMarkerAnnotationView を使えばアノテーションの中に文字や画像をセットすることが可能に。これ自前でやると結構面倒だったんだよね😩 #wwdc17 pic.twitter.com/EpKpxqqKzN
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
これはわしのアプリなんだけど、MKMarkerAnnotationView で書き換えられそうね pic.twitter.com/bfP2iEDfo3
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
そして驚いたのが、地図上に密集したアノテーションをこんな風にまとめられるようになったこと。iOS 11 ではMapkit の機能がだいぶ強化された印象 #wwdc17 pic.twitter.com/cWnuDFnJ7X
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
【iOS 11】#WWDC17 What's New in Location Technologies メモ
位置情報のセッション観てみよう Check out What's New in Location Technologies from #WWDC17 https://t.co/5pfsHsYW9J
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月9日
Location Technology のセッションは今年もこの人。Brad さん #wwdc17 pic.twitter.com/YftHoH7PM3
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月9日
GLGeocoder が Contacts framework をサポート。GLPlacemark から CNPostalAddress を取得できるように #wwdc17 pic.twitter.com/SsWNRwRiEb
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月9日
屋内位置測定の精度がかなり上がってるんだとか。これは Keynote でも話してたよね #WWDC17 pic.twitter.com/omWJSvuYXx
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月9日
watchOS でもバックグラウンドでの位置情報取得が可能に。これwatchOS 3 ではできなかったんだっけ?? #WWDC17 pic.twitter.com/nO0KDCCMsR
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
iOS 11 では「アプリ使用中のみ位置情報を許可」が必須に。これにより「アプリを起動していない間も常に位置情報取得を許可」だけしか選択できないアプリがなくなる。古いアプリにも適用 #WWDC17 pic.twitter.com/75vGCO9c3v
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
この記事はつまりそういうこと / iOS 11では、UberやWazeのようなアプリに位置情報を常時収集させなくすることができる | TechCrunch Japan https://t.co/rWCFOLkFSc @jptechcrunchさんから
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
iOS 11からは画面右上の矢印の意味が変わるっぽい?
— Og🌗エンジニア🏝宮崎 (@koogawa) 2017年6月10日
白一色のパターン:位置情報受信中
白抜きのパターン:位置情報要求中#wwdc17 pic.twitter.com/YrmQqTfnUb