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関連

    オフィス祭り 2018 in 東京が9月15日(土)に開催されます。

    突然ですが、私はMicrosoft Officeが大好きです。20…

  2. Office関連

    【2017年7月版】ポータブル デバイスからファイルをコピーするVBAマクロ

    4年ほど前に、PCに接続したスマートフォン等のWindows ポータブ…

  3. Office関連

    マクロに割り当てたショートカットキーをCSVファイルとして出力するWordマクロ

    Word MVPの新田さんが書かれた以下の記事を見て思いついたマクロで…

  4. Office関連

    右クリックから図形の配置 for Office 2013

    HPの掲示板に"右クリックから「配置」を実行できないか?"という質問が…

  5. Excel

    Slackのカスタム絵文字を一括作成するVBAマクロ

    在宅勤務で使うビジネスチャットサービスとして注目されている「Slack…

  6. Office アドイン

    [Office用アプリ]カレンダーから日付を入力するコンテンツアプリ。

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

コメント

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP