変更した理由

今までは、livedoorのAPIから天気を取得していました。データを取得する分には問題はないのですが、https(通信の暗号化)への対応が出来ていない、天気アイコンの数が少ない事がありました。

OpenWeatherMapの天気アイコン

https://openweathermap.org/weather-conditions

プロフィールを現時点の天気予報を追加して表示するBOT(参考記事)を作ったのですが、そのBOTと取得元のAPIを揃えた方が修正の時にも手間が掛からないだろうという理由からプログラムの修正を決めました。

https://note.com/ego_station/n/n7a015209656c

それらの理由から、OpenWeatherMapへ変更することを決めました。

Livedoor 天気情報のAPI

http://weather.livedoor.com/weather_hacks/webservice

OpenWeatherMapのAPI

https://openweathermap.org/current

修正前・修正後

修正前(Livedoorから取得)

https://twitter.com/eggplant_3/status/1268799726045917184?s=20

修正後 Ver. 1

https://twitter.com/eggplant_3/status/1269061879919493122?s=20

修正後 完成版

位置情報と湿度を追加し、文章(形式)を調整した。湿度は表示しましたが、あまり正確ではないようです。

https://twitter.com/eggplant_3/status/1269132682581049346?s=20

緯度経度から現在位置の取得

Livedoor APIの時は、住所情報が含まれていたのですが、OpenWeatherMapのAPIには、住所情報が含まれていません。この点に関しては、Livedoor APIの方が優れています。

住所情報に関しては、天気予報の取得をしている緯度経度を使用して、別で計算しています。

プログラム(BOT)名の修正

BOTに使用していた認証が、以前、Twitterのフォローワーさんに年賀状を送るというシステムを流用したものになっており、BOTの名前がツイートしている内容と一致していませんでした。

名前だけの問題ではありますが、認証用のアプリケーション名を「現在の天気」として作り直しました。

変更前の名前

画像1

変更後の名前

画像3

作成目的は、「趣味」で 「ボットを作成する」ためとしています。

画像2

今後の課題

毎回APIを取得するたびに 緯度経度から、住所を計算しているのですが、住所は市や区レベルで移動しないので、一度同じ場所の取得をしたらその値を保存して、次からはAPIに問い合わせに行かないという工夫が必要かもしれません。

今回は、個人目的で 「使う人が限られている」、1日に実行する回数が数回ということで、毎回取得するようにしました。