Office 365 API Tools for Visual Studio 2013 – 2014 年夏の更新版を公開


(この記事は 2014 年 8 月 5 日に Office Blogs に投稿された記事 Office 365 API tool for Visual Studio 2013 – summer update の翻訳です。最新情報については、翻訳元の記事をご参照ください。)

今回は、Visual Studio のプログラム マネージャーを務める Chakkaradeep Chandran の記事をご紹介します。

この記事では、Office 365 API Tools for Visual Studio 2013 (英語) の更新版のリリースについてお伝えします。このツールには、.NET アプリケーション用の Office 365 API クライアント ライブラリと、マルチデバイス ハイブリッド アプリケーション用の JavaScript が含まれています。今回の更新版では、前回のリリース (英語) に寄せられた主なフィードバックに対応し、バグを修正しました。

ツールの更新

更新版ご使用の流れ

Office 365 API をプロジェクトに追加するため、ツールを最初に起動すると、[Register your app] リンクが表示されます。このリンクから、Microsoft Azure Active Directory (AAD) に新しいアプリケーションを登録することができます。

リンクをクリックし、Office 365 の資格情報を入力して、サインインします。サインインに成功すると、プロジェクトに追加できる Office 365 サービスが一覧表示されます。

ASP.NET Web アプリケーション プロジェクトでリダイレクト URI の管理をサポート

以前は、ステージングやテストの目的で Web アプリケーション プロジェクトを Web サーバーに発行すると、URL が認識されないというエラーが表示され、AAD でアプリケーションを認証することができませんでした。今回の更新で、Web アプリケーション プロジェクトのツールにリダイレクト URI を直接指定できるようになりました。このため、テスト用サイトの URL を簡単に追加できます。ただし、アプリケーションを運用環境にプッシュするには、別途 AAD エントリを作成する必要があります。

 

リダイレクト URI の詳細については、ツールの [authentication response] リンクをクリックするか、こちらのページ (英語)をご覧ください。

Visual Studio の出力ウィンドウに表示されるステータス メッセージを記録

Visual Studio の出力ウィンドウに表示されるメッセージがログに記録されるようになり、プロジェクトに Office 365 サービスを追加した後の変更点を確認しやすくなりました。

 

Visual Studio での Windows Phone 8.1 プロジェクトのサポート

今回の更新では、Office 365 API Tools を使用して、Windows Phone 8.1 プロジェクトを Azure Active Directory アプリケーションと関連付けることが可能になりました。

この関連付けを行うと、Windows Phone 8.1 プロジェクトに次の変更が加えられます。

 

  1. Windows Phone プロジェクトで使用する Azure Active Directory アプリケーションが Microsoft Azure に登録されます。

  2. Microsoft Azure Active Directory Authentication Library (ADAL) という NuGet パッケージがプロジェクトに追加されます。

Windows Phone 8.1 プロジェクトでの Office 365 API クライアント ライブラリのサポートについては、現在準備中です。現時点では、ツールを使用して Azure Active Directory アプリケーションを登録し、Office 365 サービスと Windows Phone プロジェクトに必要な権限を設定することが可能です。

Windows Phone 8.1 プロジェクトから Office 365 API を認証し、呼び出す方法については、Office 365 API クライアント ライブラリのセクションをご覧ください。

Office 365 API クライアント ライブラリ

今回の更新では、Office 365 API クライアント ライブラリにいくつかの変更が実施され、また、新機能が追加されます。

Office 365 API 認証ライブラリの変更

前回のリリースには、Active Directory Authentication Library (ADAL) の上位に構築された Office 365 API 認証ライブラリの初期リリースが含まれていました。今回、お客様からのフィードバックに基づいて、Office 365 API 認証ライブラリと ADAL の相互運用性を向上させ、Office 365 API 認証ライブラリを他の Azure ベースのサービスでも使用できるようにしました。

注: 今回の更新では、Office 365 API での認証に必要なコードに重大な変更が加えられました。Office 365 API Tools はまだプレビュー版であるため、なるべく重大な変更は加えないようにしていますが、今回は開発者の皆様から多数のフィードバックが届いたため、正式リリースの前に変更を加えるに値すると判断しました。

Xamarin ベースでないアプリケーションの新しい認証フローは以下のとおりです (Xamarin ベースのアプリケーションでは、前回ご紹介したフローを引き続きご利用ください)。

  1. Office 365 Discovery Context を作成します。DiscoveryContext discoveryContext = await DiscoveryContext.CreateAsync();
  2. リソース ID または Discovery Service を使用して認証を実行します。

    リソース ID を使用する場合

    ResourceDiscoveryResult dcr =

    await discoveryContext.DiscoverResourceAsync(ServiceResourceId);

    Discovery Service を使用する場合

    CapabilityDiscoveryResult dcr =

    await discoveryContext.DiscoverCapabilityAsync(“Contacts”);

  3. クライアント オブジェクトを作成し、代理人に渡して、アクセス トークンを受け取ります。

    Func<Task<String>> getAccessToken = async () =>

    {

    UserIdentifier userId = newUserIdentifier(dcr.UserId, UserIdentifierType.UniqueId);

    string clientId = discoveryContext.AppIdentity.ClientId;

    AuthenticationResult authResult = await discoveryContext.AuthenticationContext.AcquireTokenSilentAsync(ServiceResourceId, clientId, userId);

    return authResult.AccessToken;

    };

    ExchangeClient exchangeClient = newExchangeClient(ServiceEndpointUri, getAccessToken);

マルチデバイス ハイブリッド Cordova アプリケーションの更新
  1. Office 365 API Tools によってインストールされたファイルを、より直観的なフォルダー構造で管理できます。

     

  2. SharePoint のファイルのサポートも追加されています。SharePoint のファイルのサポートに伴い、Office 365 Discovery Service のサポートが提供されます。このため、ログイン ユーザーの SharePoint サービス エンドポイントを簡単に見つけることができます。たとえば、以下のコード サンプルは、ユーザーを認証し、このユーザーの SharePoint サービス エンドポイントを探索して、SharePoint ファイル サービスからユーザーのファイルとフォルダーを取得します。

        getCapability(capabilities: O365Discovery.ServiceCapability[],

    capability: String): O365Discovery.ServiceCapability {

    var result;

    capabilities.forEach((serviceCapability, index, array) => {

    if (serviceCapability.capability === capability) {

    result = serviceCapability;

    }

    });

    return result;

    }

    getFiles() {

    var authContext = new O365Auth.Context();

    var discoveryContext = new O365Discovery.Context();

    discoveryContext.services(authContext.getAccessTokenFn(‘Microsoft.SharePoint’)).

    Then (value => {

    var capability = this.getCapability(value, ‘MyFiles’),

    sharePoint = new MS.SharePointClient(capability.endpointUri,

    authContext.getAccessTokenFn(capability.resourceId));

    sharePoint.files.getFileSystemItems().fetch().then(

    value => {

    value.currentPage.forEach((fileOrFolder, index, array) => {

    // process file or folder…

    });

    }, error => {

    // process error…

    });

    }, error => {

    // process error…

    });

    }

Windows ストア、Windows フォーム、Web、および Xamarin アプリケーション

お客様からのフィードバックに基づいて、クライアント ライブラリのバグを修正しました。Windows ストア、Windows フォーム、および Web アプリケーションの認証フローがリファクタリングされ、開発者が探索と認証の結果をより細かく制御できるようになりました。

Windows Phone 8.1 アプリ

Windows Phone 8.1 でのクライアント ライブラリのサポートは現在準備中ですが、Active Directory Authentication Library (ADAL) を使用して Office 365 サービス エンドポイントを利用できます。Office 365 API を使用できるように Windows Phone 8.1 アプリケーションを設定すると、プロジェクトに ADAL の参照が追加されます。GitHub.com の Azure AD Windows Phone 8.1 サンプル (英語) にサンプル コードがあります (このサイトでは、その他の Azure AD サンプル (英語) も多数提供しています)。サービスを http レベルで操作するには、ガイダンスのサンプルを使用して Azure AD で認証を行い、ADAL から認証トークンを受け取ったら、次のコードを使って http ヘッダーに追加します。

String accessToken = “The access token that ADAL provides.”;

HttpClient client = newHttpClient();

HttpRequestMessage request =

newHttpRequestMessage(HttpMethod.Get, new Uri(“https://outlook.office365.com/ews/odata/Me/Inbox“));

request.Headers.Authorization = newAuthenticationHeaderValue(“Bearer”, accessToken);

var response = await client.SendAsync(request);

最新版のインストール

最新版をインストールするには、次の手順に従います。

  • ダウンロードの完了後、VSIX ファイルを開いてセットアップを開始します。

ツールの更新が完了したら、Office 365 API Tools を呼び出します。ソリューション エクスプローラーでプロジェクトを右クリックして、[Add]、[Connected Service] の順に選択します。

 

新規プロジェクトの場合、最新のツールをインストールすると、自動的に最新の Office 365 API クライアント ライブラリを利用できます。以前のバージョンのライブラリを使用した既存プロジェクトの場合、次の手順に従って手動でライブラリを更新します。

  1. Visual Studio でプロジェクトを右クリックして、[Manage NuGet Packages] を選択します。

  2. 左側のウィンドウで [Updates] を選択します。

  3. [Updates] リストで [Include Prerelease] を選択します。
    インストール可能な Office 365 API クライアント ライブラリの更新プログラムが表示されます。

  4. Office 365 API クライアント ライブラリごとに、[Update] をクリックして最新版のライブラリに更新します。

 

機能に関するご要望がございましたら、UserVoice (英語) に投稿をお願いいたします。

ご不明な点については、StackOverflow (英語) で [Office365] と [API] のタグを付けてお問い合わせください。

Yammer Office 365 Developer Network (英語) でも Office 365 チームに問い合わせることができます。

Channel 9 では、マイクロソフトの Beth Massi (@BethMassi) が「Office 365 API Tools for Visual Studio – Xamarin を使用した Office 365 Android アプリの開発 (英語)」のビデオを公開しています。

ツールと API に関する貴重なご意見、ご感想 (英語) をお待ちしております。

 

—Chakkaradeep Chandran

Comments (1)

  1. Anonymous より:

    Microsoft Office は今年の 8 月に 25 周年を迎えました 。Office for Windows 1.0 は 1990 年の登場だから、まだ 24 周年では?と思われるかもしれませんが

Skip to main content