【ハウツー】
最近のWebサービスでは新しい認証方式「OAuth」が必要なものが増えています。今回からTwitterをターゲットとしてOAuth認証を利用する方法を説明します。動作確認は、Windows 7、Excel 2010、VBA 7.0およびWindows XP、Excel 2007、VBA 6.5で行っています。
Excel VBAでWebサービス - 天気予報を取得してみよう
Excel VBAでWebサービス - MSNマネーから株価の推移を取得しよう
Excel VBAでWebサービス - Excelで書籍情報を検索・取得してみよう
Excel VBAでWebサービス - YouTube APIで動画を検索しよう
OAuth認証とは大雑把に言うと、「トークン」と呼ばれる通行手形のようなものと、「シークレット」と呼ばれる秘密鍵による電子署名とを組み合わせて、安全にWebサービスにアクセスする方式です。従来、ユーザーがWebサービスを利用する際には、IDとパスワードを入力する必要がありました(図2)。
アプリケーション(以下、アプリと略記)から、ユーザーの代わりにWebサービスにアクセスし、ユーザーの情報を利用する場合、何らかの認証が必要です。しかし、IDとパスワードそのものをアプリに渡してしまうのはセキュリティ上問題です。具体的には、ユーザーの許可なしに目的の範囲を超えたアクセスが行われる恐れがあります。そこで考えられたのがOAuthという認証方式です。
OAuthでは、アプリのことを「コンシューマー」、Webサービスのことを「サービス・プロバイダー」と呼びます(図3)。アプリはWebサービスを利用するにあたって、登録を行い、「コンシューマー・キー」というIDと、「コンシューマー・シークレット」という秘密鍵を発行してもらう必要があります。
Webサービスから発行してもらったコンシューマー・キーとコンシューマー・シークレットを用い、次の3つのステップを経て、Webサービスを利用するためのアクセス・トークンを取得します(図4)。
まず、Webサービスにリクエスト・トークンを要求します。問題がなければリクエスト・トークンとリクエスト・シークレット(リクエスト・トークン要求時に必要な秘密鍵)が発行されます。
次に、取得したリクエスト・トークンを使ってブラウザを起動し、ユーザーにアプリを認証してもらうページを表示させます(図5)。
ユーザーが「認証する」ボタンをクリックすれば、「PINコード」が表示されます(図6)ので、これを受け取ります。
ユーザーから受け取ったPINコードを使って、Webサービスにアクセス・トークンを要求します。問題がなければアクセス・トークンとアクセス・シークレット(アクセス・トークン要求時に必要な秘密鍵)が発行されます。
以降は、取得したアクセス・トークンとアクセス・シークレットを用いて、HTTP通信により、Webサービスにアクセスできるようになります。
| 【レポート】マカフィーの世界の専門家の意識調査「サイバー防衛報告書」とセキュリティソリューション [21:15 5/25] |
| アップル、Aperture 3.2.4を公開 - バグ修正、安定性向上など [20:51 5/25] |
| 【レポート】GTC 2012 - VGXでエンタープライズ環境でのGPU需要開拓を狙うNVIDIA [20:07 5/25] |
| デル、期間限定キャンペーンに特価アイテム追加、アップグレード無料も継続 [19:41 5/25] |
| 上海問屋、iPhoneとほぼ同じ薄さのバッテリ内蔵ヘッドホンアンプ [19:05 5/25] |
|
[庵野秀明監督]「ヱヴァ」進行状況を聞かれ立腹 「日プロ大賞」授賞式 [15:01 5/27] ホビー |
|
【女性編】おなかが減ったけどおかずがない! そんなときおかずになる調味料ランキング [15:00 5/27] ライフ |
|
【男性編】おなかが減ったけどおかずがない! そんなときおかずになる調味料ランキング [15:00 5/27] ライフ |
|
[AKB48・横山由依]Not yetは「素になれる場所」 ソロデビューにも意欲 [15:00 5/27] ホビー |
|
1万人の中から現役女子中学生ら3人グランプリ‐「Dream Vocal Audition」 [15:00 5/27] エンタメ |