ヤマレコなら、もっと自由に冒険できる

Yamareco

HOME > macchaさんのHP > 日記
2012年09月20日 21:54未分類全体に公開

ヤマレコAPIをちょっとさわってみる

※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用のヤマレコアプリ作ってくれないかな。
お気に入りした人
拍手で応援
拍手した人
拍手
訪問者数:1780人

コメント

RE: ヤマレコAPIをちょっとさわってみる
こんにちは

私の知人連中は
のぼルート Android OS用
を使ってるんですが、iPhone用のヤツが無いので仲間はずれになってます笑
2012/9/21 7:21
RE: ヤマレコAPIをちょっとさわってみる
こんにちは

Androidにはアプリがあるんですね。
(ちょっと探したけど見つけられませんでした
Android端末はセンサーも充実しているので、色々できそうです。
気温や気圧の測定も!

パナの専用端末だとこんなのもあるみたいです。
http://panasonic.jp/support/viera_1/info/mt300_guide_data/plugin.html

早くiPhoneでも快適なヤマレコ生活を送りたいものですねぇ。
2012/9/21 8:15
プロフィール画像
ニッ にっこり シュン エッ!? ん? フフッ げらげら むぅ べー はー しくしく カーッ ふんふん ウィンク これだっ! 車 カメラ 鉛筆 消しゴム ビール 若葉マーク 音符 ハートマーク 電球/アイデア 星 パソコン メール 電話 晴れ 曇り時々晴れ 曇り 雨 雪 温泉 木 花 山 おにぎり 汗 電車 お酒 急ぐ 富士山 ピース/チョキ パンチ happy01 angry despair sad wobbly think confident coldsweats01 coldsweats02 pout gawk lovely bleah wink happy02 bearing catface crying weep delicious smile shock up down shine flair annoy sleepy sign01 sweat01 sweat02 dash note notes spa kissmark heart01 heart02 heart03 heart04 bomb punch good rock scissors paper ear eye sun cloud rain snow thunder typhoon sprinkle wave night dog cat chick penguin fish horse pig aries taurus gemini cancer leo virgo libra scorpius sagittarius capricornus aquarius pisces heart spade diamond club pc mobilephone mail phoneto mailto faxto telephone loveletter memo xmas clover tulip apple bud maple cherryblossom id key sharp one two three four five six seven eight nine zero copyright tm r-mark dollar yen free search new ok secret danger upwardright downwardleft downwardright upwardleft signaler toilet restaurant wheelchair house building postoffice hospital bank atm hotel school fuji 24hours gasstation parking empty full smoking nosmoking run baseball golf tennis soccer ski basketball motorsports cafe bar beer fastfood boutique hairsalon karaoke movie music art drama ticket camera bag book ribbon present birthday cake wine bread riceball japanesetea bottle noodle tv cd foot shoe t-shirt rouge ring crown bell slate clock newmoon moon1 moon2 moon3 train subway bullettrain car rvcar bus ship airplane bicycle yacht

コメントを書く

ヤマレコにユーザー登録いただき、ログインしていただくことによって、コメントが書けるようになります。
ヤマレコにユーザ登録する