2014年 7月 の投稿一覧

TOKYOAMEDAYO – 東京が雨予報ならYo

YoのAPIキーを取ってみたので試しに何か作ってみようということで、
東京地方に雨の予報が出ていたらYoしてくれるアカウントを作ってみました。

TOKYOAMEDAYO というアカウントに利用中の端末からYoしてもらえれば以降、毎朝7時30分に東京地方に雨の予報が出ていれば、このアカウントからYoされます。

スクリプトが行っているのは、livedoor天気の東京地方の本日の予報から「雨」が含まれていたらYoするだけです。今回試してみた様な「雨が降る/降らない」といった2値情報であれば、Yoで気軽にpush出来て良いなと思いました。

とりあえずnpm化したので、Yo API Keyと先のlivedoor天気の予報地域先のIDを渡せば、日本国内の他の地域の雨予報もYoできる。と思います。

NPM

Yo APIを利用するためにAPI Keyを取得する

2周り遅れぐらいでYo APIを利用してみたので、API Keyを取得する際に行った作業のメモ。

Yoをインストールする

tokenの取得にはYoのアカウントが必要なので、iPhoneにYoをインストール。
ここで取得したアカウント名を利用してAPI経由でYoはできないので、その辺りのアカウント名は要注意。*1

トークンの取得

http://yoapi.justyo.co/ へアクセスすると、API Key取得するために必要な情報の入力を求められるので、入力します。

メールを確認する

先のフォームで入力したメールアドレス宛にAPI Keyがメールで送られてくるので確認します。*2
メールは以下の様な文面。

Yo,
Thanks for taking an interest in our API!
We created an API key for your username, (作成されたユーザ名).
Your unique API key is ******************************.
Please keep your key secret.
To learn more about how to use the API visit https://bit.ly/yoapi.
We're excited to see what you create! You can submit what you create
at the Yo API Services Directory - http://submit.justyo.co
Create a Yo button: http://button.justyo.co
Let us know if you have any issues.
Thanks,
Yo API Team
http://justyo.co

http://dev.justyo.co/login.html を開くことで、ダッシュボードからも確認できますね。

APIの呼出

フォローしている全員にYoをするのは、

$ curl --data "api_token=(取得したAPI Key)" http://api.justyo.co/yoall/

特定のユーザにYoするのは、

curl --data "api_token=(取得したAPI Key)&username=(Yoする先のアカウント)" http://api.justyo.co/yo/

の様にします。要はPOSTするだけですね。

Rubyで呼び出すのであれば、

require 'faraday'
conn = Faraday.new(:url => 'http://api.justyo.co') do |builder|
builder.request  :url_encoded
builder.adapter  :net_http
end
conn.post '/yoall/', {:api_token => YO_API_KEY}

といった具合にすればよさそう。

注意としては、APIの利用制限が1分間に1回だけなことくらいでしょうか。いろいろなトリガでYoさせて遊べそうです。

APIの使い方は以下のページでも紹介されています。

*1:例えば、 APIを利用してhogeというアカウントからYoさせたいのにiPhoneアプリhogeというアカウントを取ってしまうと通知できません。

*2:API Keyがメールで飛んでくるのがアレな気もしますが...