Office365の情報を取得するデスクトップアプリケーションの開発

AzureADにサインインし、Office365の情報を取得するために必要な
リフレッシュトークンとアクセストークンを取得する 簡単なアプリケーションの作り方を記載します。

用意する物

・VisualStudio 2013
・Office365 (SharePoint、Azure AD)

■リフレッシュトークン?アクセストークン?

2種類トークンという言葉が出ておりますが、
リフレッシュトークン=ログインしたという情報
アクセストークン=使用可能なリソースの情報(権限)
という形で覚えると分かりやすいと思います。

■AzureADの設定

Office365の情報を使用する際は、AzureADにOffice365のアプリケーションを使えるようにする設定が必要なので、
Office365の管理者またはAzureポータルサイトからAzureADに入ります。
設定できない場合はOffice365の管理権限を持つ方に相談してください。

1.Azure内のActiveDirectoryに入り、ネイティブアプリケーションを作成
2.作成したアプリの構成を確認し、「リダイレクトURI」と「他のアプリケーションに対するアクセス許可」を変更する
※初期ではWindows Azure Active Directoryだけ入っているので、アプリケーションの追加を押して追加する
3.設定が完了したら保存する

azureAD

赤丸の部分が追加した情報です

■リフレッシュトークン、アクセストークンを取得する方法

https://login.microsoftonline.com/common/oauth2/tokenにアクセスし
grant_typeにpasswordか、authorization_codeを指定
HTTPヘッダのContent-Type にapplication/x-www-form-urlencodedを指定

○grant_type=passwordの場合
パラメータ(下記はPOSTメソッドで送信)
grant_type=password
client_id = AzureクライアントID
user = ※ユーザーID
password = パスワード
resource = リソース(SharePoint)のURL
※ユーザIDはOffice365の管理権限を持つアカウントで確認してます。
grant_type=passwordのケースに関してはリクエスト結果からアクセストークンが取得できます。

○grant_type=authorization_codeの場合
URLパラメータ(下記はPOSTメソッドで送信)
grant_type=authorization_code
code = リフレッシュトークン
client_id = Azure ADのクライアントID
redirect_uri = Azure ADで指定したリダイレクト先
resource = リソース(SharePoint)のURL

こちらのケースの場合はリフレッシュトークンを別な方法で取得しないといけないので、あらかじめ次の処理を行います。

https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=(Azure ADのクライアントID)&redirect_uri=(Azure ADで指定したリダイレクト先)
からサインイン画面を表示し、サインイン後にリダイレクトした先のURL内に含まれるcodeパラメータを保持する
※code情報がリフレッシュトークン

これでアクセストークンの取得は完了です。
アクセストークンの有効期間(1時間程度)が切れたときは、リフレッシュトークンを用いて再度取得しましょう。

VisualStudio2013向けサンプル用プロジェクトを作りましたので、よろしければご確認ください。

野本 育男

まとめ:KnockoutJS

作成中

  1. Wijmo
    1. Get Started with Wijmo(Visual Studio+KnockoutJS+Wijmoの開発解説)
    2. Download Wijmo Professional
    3. Wijmo 2013 v1: Mobile, Data, and SpreadJS
      WijmoはJquery Mobile+KnockoutJS対応とな、なるほど、Visual Studioで開発がみれる。
  2. Knockout日本語ドキュメント
  3. KnockoutJS Japan User Group(KJJUG)
  4. Knockout.js 3.2 Preview : Components
  5. Durandal Single Page Apps Done Right
  6. Architecting large Single Page Applications with Knockout.js
    Microsoft Azure+Single Page Application
    Visual Studio+TypeScript+KnockoutJS3.2

まとめ:Windows 2003 サポート切れによるIISサーバの移行について(Win2003 X86 to Win2008 X64)

概要

Windows2003で動作しているアプリが多くあり、特にIIS+ASP.NETで作ったアプリもまだまだ現役バリバリ稼働していると思います。

Windows2003のサポート切れの対応が迫る中、ある人は仮想環境へ、ある人はサーババージョンアップをすると思います。

一番難関そうなのが IIS6(Win2003)からIIS7(Win2008), IIS7.5, IIS8(Win2012)への32bitから64bitへの移行ではないでしょうか?

どうやら、IIS6でX86(32bit)で作ったASP.NETを IIS8とかに移植する場合にはクラッシックモードで対応しないといけないみたいです。

現在、検証中なので、成功したら結果をアップします。

詳細

移行にあたり、検索すると、以下の情報がありましたのでまとめておきます。

 

 

まとめ:TypeScript

整理中

Microsoft

  1. TypeScriptのメインページ
    1. TypeScriptのサンプルを実行できるサイト
  2. TypeScriptのサンプル(CodePlex)
  3. BuildInsider #2 youstream

 

Github

  1. JQuery, Angular, KnockoutJS等の型定義(*.d.ts)はここにある。
  2. TypeScriptのDeclarationファイルを公開しているGitHubリポジトリ
  3. TypeScript-Knockoutjs

 

CreateJS

  1. TypeScriptとCreateJSで簡単にこんなのが作れるようです。
    1. ClockMaker Labs

KnockoutJS

  1. TypeScript + Knockout ES5 でさらにシンプルに

Slideshare

  1. TypeScriptの基礎(buildinsider)
  2. TypeScriptセッションの全スライド&動画
  3. TypeScript 1.0 オーバービュー(井上さまBuildInsider2での登壇内容)

Nuget

  1. jqueryの定義を読み込む方法 Visual Studioで取り込む以下を取り込む
    1.  jquery.TypeScript.DefinitelyTyped

 

便利なツール

  1. TypeScriptとJavaScriptを2画面同時に表示する方法。
    1. Visual StudioにWeb Essentialをインストールして設定からTypeScriptで設定する。

事例

  1. 神獄のヴァルハラゲート(Gree/株式会社グラニ) 
    1. サーバサイドC#
    2. クライアントサイド:TypeScript, KnockoutJS
    3. 開発ツール:Visual Studio
  2. モンスターハンター ロア オブ カード
    1. サーバサイドC#
    2. クライアントサイド:TypeScript, KnockoutJS
    3. 開発ツール:Visual Studio
  3. 日本全国花粉飛散マップ

TypeScriptの本

  1. TypeScriptリファレンス Ver.1.0対応

 

開発環境:IDE

  1. Visual Studio
  2. 開発環境までもWeb化?! Visual Studio Online “Monaco”機能徹底解説
  3. WebStorm