自分用メモです。
参考資料
developer.foursquare.com
https://developer.foursquare.com/docs/
Foursquare API プラットフォームおよびデータ使用ポリシー
https://ja.foursquare.com/legal/api/platformpolicy
FOURSQUARE LABS, INC. API およびデータライセンス契約
https://ja.foursquare.com/legal/api/licenseagreement
API 開発者のための Foursquare 商標ガイドライン
https://ja.foursquare.com/legal/api/trademarkusage
リソース
https://ja.foursquare.com/about/logos
[foursquare Api] 使ったときの商標表示って、、、
http://cocoamix.jp/archives/2887
foursquare APIでできること #4sqdevjp
http://qiita.com/koogawa/items/df92ec1c7eb750312b77
foursquare API v2 ドキュメント(日本語訳)
http://tdoc.info/foursquare-API/overview.html
foursquare api その1:概要
http://lxyuma.hatenablog.com/entry/20121222/1356166568
ベニューを検索する
http://syncer.jp/foursquare-venues-search
foursquare APIを使いたい人のための日本語リファレンス。
http://syncer.jp/web/api/foursquare-api/
概要
- すべてのリクエストはJSONまたはJSONPを返すGETかPOST
- リクエストのパラメータはJSONではなく、HTTPのキーバリュー
- 認証はOAuth2、httpsが必須
API利用回数制限
一時間ごとにリクエスト数で計られる。
基本的にエンドポイント単位ではないことに注意。
例えば、venues/search で2500リクエスト、venues/explore で2500リクエストである場合、venuesのリクエスト回数制限に達してしまうが、tips/* に対するリクエスト回数は500残っていると言える。
取得したデータはアプリケーション側で可能な限りキャッシュして利用した方が良い。
これでも足りないというのであれば、Foursquare に対してAPI利用回数の増加申請を行う事も可能。
https://developer.foursquare.com/overview/ratelimits
回数の確認
HTTPヘッダに記載される。
- X-RateLimit-Remaining
- X-RateLimit-Limit
venues エンドポイント
- 5000リクエスト毎時間
- Cliend ID/Client Secret(=登録アプリケーション)単位で計測
その他のエンドポイント
- 500リクエスト毎時間
OAuthトークン
- 500リクエスト毎時間
- OAuthトークン(=ユーザ)単位で計測
APIリクエスト
URL
OAuthトークンあり
https://api.foursquare.com/v2/ENDPOINT/HOGE
?param1=value1
&oauth_token=OAUTH_TOKEN
&v=YYYYMMDD
&m=foursquare
認証無し
https://api.foursquare.com/v2/ENDPOINT/HOGE
?param1=value1
&client_id=CLIENT_ID
&client_secret=CLIENT_SECRET
&v=YYYYMMDD
&m=foursquare
バージョニング
v=YYYYMMDD
レスポンス形式(モード)
- Foursquare 形式
m=foursquare
- Swarm 形式
m=swarm
- ただし、v >= 20140806 のとき
- swarm 形式対応のエンドポイントのみ効果がある
例えば users/USER_ID の場合、swarm 形式に対応している。
https://developer.foursquare.com/docs/users/users
多言語対応
HTTPリクエストヘッダに Accept-Language
を追加する。または locale=*
でも可。
日本なら ja
。
未指定の場合、都市名などの地物情報であれば、その地物が属する国で最も使われる言語表記で返される。
キャッシュとデータの保存期間
Foursquare から得たデータは、APIのリクエスト回数を抑える為にキャッシュすべきだが、永続的に保管することは許されない。
- スポット情報(Tips, Venues およびその写真など)を更新することなく30日を超えて保存することはできない
- ユーザーの未編集のチェックイン情報を更新する事無く24時間を超えて保存することはできない
- クライアント(アプリケーション、Webサイト)を許可していないユーザーの情報を3時間以上保存することは出来ない
- ユーザーのデータ使用についてユーザーに説明し、同意を得なければ、ユーザーのチェックイン履歴の追跡やそこから得たデータを保持することは出来ない
- いかなる場合もデータを30日を超えて保存することは出来ない
IV. 保存
https://ja.foursquare.com/legal/api/platformpolicy
OAuth
- https://github.com/koogawa/FoursquareOAuth
- https://github.com/foursquare/foursquare-ios-oauth
- https://github.com/foursquare/foursquare-android-oauth
- http://ssdkfk.wordpress.com/2012/08/27/foursquareの認証、api通信をお手軽にやっちゃう%E3%80%82/
- https://github.com/anoopr/core-data-talk/blob/master/example/Classes/FoursquareAuthViewController.m
手っ取り早くWebViewか?