使ってみよう! Windows Live SDK/API

第47回 デスクトップアプリでWindows Live統合

この記事を読むのに必要な時間:およそ 8 分

はじめに

前回から少し時間が空いてしまいましたが,今回も引き続きWindows Liveサービスと統合したアプリ開発を可能にするLive Connectを利用したアプリ開発をみていきましょう。今回はデスクトップアプリからの利用を紹介します。また,Live Messengerのステータス更新も紹介します。

デスクトップアプリのWindows Live統合

これまで連載で紹介したLive Connectの利用は,Webブラウザー上で動作するアプリ,またはサーバーサイドで動作するWebアプリからでした。Live Connectは,Webアプリで利用しやすいタイプのAPIコレクションですが,PCクライアントで動作するデスクトップアプリでも利用できます。また,モバイルアプリからも同様に利用可能です。

Live Connectの例ではありませんが,デスクトップアプリのLiveメールやLiveフォトギャラリーでは,図1のようにLiveアカウントでサインインでき,WebのWindows Liveサービスと連携しています。今回紹介する内容で,このようなUIや機能を持つアプリの作成も可能です。

図1 Liveメール

図1 Liveメール

アプリの登録

まず,アプリの登録ですが,デスクトップやモバイルアプリの場合は,アプリのURL(リダイレクト先のドメイン)を設定する必要がありません。アプリケーション設定サイトで,アプリのタイプをモバイルに設定します図2

図2 アプリの設定

図2 アプリの設定

認可フロー

Live Connectでは,OAuth 2.0を使ってユーザーリソースへのアクセス許可を得ます。Live Connectでサポートしている認可方法は2種類あり,今回はImplicit Grant Flowによる方法を使います。詳しくは,第45回で説明していますので,そちらを参照してください。

OAuthの認可フローによって,Access Tokenアクセストークンを取得し,アクセストークンを使ってユーザーリソースにアクセスします。では,デスクトップアプリでの認可フローを簡単にみてみましょう。

①認可画面の表示

認可画面は,Webページでしか用意されていません※1)。通常はWebBroswerクラスなど,各プログラミング言語やライブラリーで用意されているWebブラウザーコントロールによって表示を行うようにします。

認可画面のURLは次の通りです。

  • https://oauth.live.com/authorize?client_id=CLIENT_ID&scope=SCOPES&response_type=token&redirect_uri=https://oauth.live.com/desktop

ここでリダイレクト先を指定する必要がありますが,デスクトップアプリでは,https://oauth.live.com/desktopを指定します。

※1

Live SDK Developer Previewには,Windows PhoneとWindows 8のMetro style app向けにはサインインコントロールおよび専用の認可画面が用意されています。

②アクセストークンの取得

認可処理が完了すると,指定した通りhttps://oauth.live.com/desktopへリダイレクトされます。このときアクセストークンが含まれています。

  • https://oauth.live.com/desktop#access_token=[AccessToken]

上記のURLへ移動したら,アプリは,Webブラウザーコントロールを使ってアクセストークン部分のみを抽出します。これでアクセストークンが取得できました。

アクセストークンの更新

少しだけ補足します。アクセストークンの有効期限は,通常短く設定されています。新しくアクセストークンを得るためには,Refresh Tokenリフレッシュトークンを使います。ただし,Authorization Code Grant Flowというもうひとつの認可フローでなければ,リフレッシュトークンを得られません。

これから紹介するサンプルアプリでは,Implicit Grant Flowを用いているため,そのまま利用できませんが,どちらの認可フローでも,Webブラウザーコントロール等を利用する点は変わりません。

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp

コメント

コメントの記入