WolframAlpha APIを叩いてみる
以前書いた、記事をさらに掘り下げます。
matatsuna.hatenablog.com
WolframAlphaって知ってますか?
www.wolframalpha.com
wikiには以下のように書いてあります。
Wolfram Alpha(WolframAlphaともWolfram|Alphaとも表記される)はウルフラム・リサーチが開発した質問応答システム。事実についての質問に対して、構造化されたデータを使って計算し、直接答えを返すオンラインサービスである。(wiki)
わからない....
簡単に言うと、どんな計算でも計算してくれる最強のサービスです。
mathematicaを知ってる方も多いと思いますが、それを使って成り立ってます(開発者が一緒)。
よく微分積分や行列などの計算の確認に使ってます。
そんな最強の電卓をslackのbotに返答させたら超最強だ!と思って実装しました。
APIキーを取得する
Wolfram|Alpha: For Developers--API, Customizable Widgetsへ行って、Get startedをクリックし、Sign upから必要な情報を入れてアカウントを作る。
My Appsのタブに行き、右側のGet an AppIDをクリック
名前と目的を入れて Get AppID
そうすると[6桁の英数字-10桁の英数字]のAPPIDが作られます。
アクセスしてみる
サンプルクエリ通りに、アクセス!
http://products.wolframalpha.com/api/documentation.html#4
http://api.wolframalpha.com/v2/query?input=pi&appid=XXXX
ところが、APIキーを取得してすぐだと、badリクエストになる恐れがあります。その場合は、時間をおいてください。5時間ぐらい開ければ動きました。
クエリの細かいのはドキュメントみてください。
slack botはpythonで書いていて、正規表現で全角はドコモのAPIに投げて、半角を今回投げる対象としました。
([ -~。-゚]+)
この正規表現を使いました。
[正規表現] 半角文字のみ取得 と 全角文字のみ取得 - 続くかな・・・
あとは、srcを上から順にとって、リンクをレスポンスとして返しました。
slackは自動で写真を展開してくれるのでいい具合になりました。
ただ、時間がたつとリンクが切れて表示されなくなってしまうのが少し、残念です。