Office関連

[Excel 2013]Web関数を使ってマッシュアップ

以前書いた記事「Excel 2013で追加された「WEBSERVICE」関数を使って、マクロを使わずWeb APIを利用する。」でExcel 2013で追加されたWeb関数を紹介しましたが、今回はそのWeb関数を使って複数のWeb APIを組み合わせて便利な機能を作り出す、所謂マッシュアップをしてみようと思います。

具体的には、Twitter APIMextractr ネガポジAPIを組み合わせて、

“指定したTwitterユーザーのツイートがポジティブなのかネガティブなのかをExcelで判定する”

といったことをやってみたいと思います。


まずはTwitter APIを利用してツイートを取得する方法ですが、「Twitter API 仕様書」によると、

http://api.twitter.com/1/statuses/user_timeline/(ユーザーID).xml

で指定したユーザーのツイートを取得できるようです。
私(@kinuasa)のツイートを取得する場合は下記のような感じですね。

http://api.twitter.com/1/statuses/user_timeline/kinuasa.xml

このリクエストURLから得られる結果(XML)をWEBSERVICE関数で取得するには

とすれば良いのですが、結果の文字数が多すぎるとエラーになってしまうのでcountオプションを付けて取得する件数を指定することにします。

ユーザーIDは自由に入力できるようにしたいので、セル(B2)で指定します。

このXMLから目的の値を取得するにはFILTERXML関数を使って、XPath形式で指定します。

※ セルB4のXMLから目的の値(最初のツイート)を取得

WEBSERVICE関数とFILTERXML関数をまとめると下記のようになります。

これでTwitter APIを利用してツイートを取得できることが確認できました。
次はネガポジAPIの確認です。
このAPIを利用するにはAPIキーが必須になるので、利用登録フォームからメールアドレスを登録してAPIキーを取得します。
(※ メールアドレスを登録するとすぐに下記のようなメールが送られてきます。)

Mextractr APIキー発行お知らせメール

ご登録手続きありがとうございます。
次のAPIキーをご利用ください。
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

なお、JSONP版ご利用時のURL登録の追加または変更をしたい場合は、
下記お問い合わせ先までご希望をお寄せください。

APIの使い方はMextractr ネガポジAPIにある通りで、

http://ap.mextractr.net/ma8/negaposi_analyzer?out=atom&apikey=xxxxx&text=(URLエンコードした文字列)

のようにapikeyパラメータにAPIキーを、textパラメータにURLエンコードした文字列を渡すだけです。
この結果をTwitter APIのようにWEBSERVICE関数を使って取得する場合は下記のようになります。

※ B2:APIキー , B3:対象文字列

FILTERXML関数でネガポジ度のみを取得する式は下記のようになります。

これで2つのAPIの動作確認ができたので、後は組み合わせるだけです。

セルB4:Twitter ユーザーID
セルC4:Mextractr APIキー
セルC7:

セルD7:

※ ファイルはコチラからダウンロードできます。

以上のように、Excel 2013ではWeb関数を利用することでマクロを使わずに簡単にマッシュアップすることができます。
ただし、WEBSERVICE関数の動作は非常に遅いため、Web APIを組み合わせれば組み合わせるほど結果を取得するまでに時間が掛かるようになりますので、その点だけは注意が必要です。

※ 計算方法が自動になっていると再計算処理にもかなりの時間が掛かるため、個人的には自動計算を切って必要な時だけ手動で計算することをお薦めします。

■ 関連Webページ

・Excel 2013で追加された「WEBSERVICE」関数を使って、マクロを使わずWeb APIを利用する。
//www.ka-net.org/blog/?p=1933
・[Excel 2013]Web関数を使ってXMLデータから複数のレコードをまとめて抽出する。
//www.ka-net.org/blog/?p=3266

[Office用アプリ]ドキュメントをバイト配列として取得後Base64エンコードする前のページ

ドラッグ&ドロップしたファイルをSkyDrive上のフォルダーにアップするVBScript次のページ

関連記事

  1. Office関連

    「Excel VBAの神様 ボクの人生を変えてくれた人」(大村あつし著)レビュー

    ※ 下記レビューはあくまでも個人的な感想です。2015年9…

  2. Office アドイン

    [Office用アプリ]「あいさつ文の挿入」を作業ウィンドウアプリに移植してみる。

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

  3. アイコン一覧

    Office 365アイコン(imageMso)一覧(I)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  4. Office関連

    Outlook REST APIに会議室情報を取得するAPIが追加されました。

    松崎さんのツイートで、Outlook REST APIのベータエンドポ…

コメント

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP