※macでやってますが、http(s) requestを自分で作れるツールが有ればwindwosでもOKです。
試しにヤマレコAPIを呼び出してレスポンスを確認するところまでやってみました。
request送信にはmacに最初から入ってたcurlを使用。
・ヤマレコ Web API (https://sites.google.com/site/apiforyamareco/)
大体の流れはOAuth認証の解説ページ(https://sites.google.com/site/apiforyamareco/api/oauth)で理解できます。
1. アプリケーションの登録
「リダイレクト先URL」とはいったものの、今回はお試しなので決まってません。
とりあえずヤマレコのマイページ(http://www.yamareco.com/modules/mydata/)にしておきました。
登録完了メールがmatoyanさんから届くまで正座して待ちます。
私の場合は半日位で対応していただけました。
2. アプリケーション上の認証処理
2.1 認可コードの取得
ブラウザで下記urlにアクセス。
https://www.yamareco.com/api/v1/oauth?client_id=(認証メールに記載のクライアントID)&redirect_uri=(認証メールに記載のリダイレクト先URL)&response_type=code&scope=all
成功すると、「このサイトでのデータ使用を許可しますか?」みたいな画面に遷移するので、OKを押します。
すると登録したリダイレクト先URLに飛ぶので、アドレスバーをチェック。
リダイレクト先URLの後ろに"?code=xxxxxx"というのがひっついてるので、xxxxxの部分をメモ。これが認可コード。
2.2 アクセストークンの取得
https://www.yamareco.com/api/v1/oauth/access_token へ、POSTでパラメータを付加しリクエストを投げます。
curlだとこんな感じ↓
[リクエスト]
curl -d 'client_id=(クライアントID)' -d 'client_secret=(認証メールのクライアントシークレット)' -d 'redirect_uri=(リダイレクト先URL)' -d 'code=(2.1で取得した認証コード' -d 'grant_type=authorization_code' https://www.yamareco.com/api/v1/oauth/access_token
[レスポンス例]
{"access_token":"fe031ef53d7be7ed11c4f48xxxxyyyyxxxxyyyyx","error":0,"error_message":""}
2.3 REST APIへのアクセス
上の2.2で取得したaccess_tokenを使用して、apiを呼び出します。
例としてエリア一覧を取得してみます。
[リクエスト例]
curl -H 'Authorization: OAuth fe031ef53d7be7ed11c4f48xxxxyyyyxxxxyyyyx' http://www.yamareco.com/api/v1/getArealist
[レスポンス例]
{"arealist":[{"area_id":"100","area":"\u5317\u6d77\u9053"},{"area_id":"101","area":"\u9053\u6771\u30fb\u77e5\u5e8a"},{"area_id":"102","area":"\u5927\u96ea\u5c71"},{"area_id":"103","area":"\u5341\u52dd\u9023\u5cf0"},
...,
(中略)
...,
{"area_id":"8000","area":"\u30e8\u30fc\u30ed\u30c3\u30d1"},{"area_id":"9000","area":"\u5357\u6975"}],"err":0}
このままだと見づらいので、JSON整形ツール(http://www.ctrlshift.net/jsonprettyprinter/)等を使って整形してみると、
{
"arealist": [
{
"area": "北海道",
"area_id": "100"
},
{
"area": "道東・知床",
"area_id": "101"
},
{
"area": "大雪山",
"area_id": "102"
},
{
"area": "十勝連峰",
"area_id": "103"
},
{
"area": "ヨーロッパ",
"area_id": "8000"
},
{
"area": "南極",
"area_id": "9000"
}
],
"err": 0
}
みたいな感じに取得できてることがわかります。
※API仕様のページ(https://sites.google.com/site/apiforyamareco/api/rest-api)の上部にある記録登録の例は間違ってるので注意! /laboは不要です。
なんか作ってみたいけど力量不足で厳しいです...
誰かiPhone用のヤマレコアプリ作ってくれないかな。
こんにちは
私の知人連中は
のぼルート Android OS用
を使ってるんですが、iPhone用のヤツが無いので仲間はずれになってます笑
こんにちは
Androidにはアプリがあるんですね。
(ちょっと探したけど見つけられませんでした
Android端末はセンサーも充実しているので、色々できそうです。
気温や気圧の測定も!
パナの専用端末だとこんなのもあるみたいです。
http://panasonic.jp/support/viera_1/info/mt300_guide_data/plugin.html
早くiPhoneでも快適なヤマレコ生活を送りたいものですねぇ。
コメントを編集
いいねした人
コメントを書く
ヤマレコにユーザー登録いただき、ログインしていただくことによって、コメントが書けるようになります。ヤマレコにユーザ登録する