TalkAPIでも取得してみるの巻
先月、僕のブログで「VBA TalkAPI」の検索が引っかかったので今日は興味本位でVBAでAPI呼び出すとかやってみようと思います。やはり読者の期待には応えないといけませんからね(大嘘)。そんなわけで "興味本位で" ちょっといじってみることにしました。
Talk APIについて
TalkAPI|PRODUCT|A3RT
実装方針
・まずは動くこと
・外部の便利なライブラリ的なやつは使わない
・エラーとかでても知らない
という雑な方針で動かしてみようかと思います。ライブラリ使わないのはVBAみたいなツールを使うところってみだりにツールをダウンロードできる環境じゃないかもしれないなーっていう配慮です。まあ、そういうのググるの面倒になったってだけでこれも嘘ですけどね。
んで、作った。
Set talkapi = CreateObject("MSXML2.XMLHTTP") talkapi.Open "POST", "https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk", False talkapi.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" ' 実行例:おはよう talkapi.Send "apikey=YOUR_API_KEY&query=QUERY" ' Messageをゴリ押しで取得 Debug.Print Replace(Mid(Split(talkapi.responseText, ":")(5), 3), """}]}", "") Set talkapi = Nothing
結果
\u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059
これでイミディエイトウィンドウに上の暗号が表示されます。API操作にしか興味がなかったのでとりあえずこれで……、僕はもう疲れたよ。VBAってユニコードエスケープなんとかしてくれる便利な機能って標準でないんですかね?ループを回して愚直に変換しているサイトしか見つかんないんだけど……。あとJSONパースしてくれる便利機能も……。