レポート Web サービス クライアント ライブラリ
新しい C# クライアント ライブラリを使用して、Office 365 レポートの OData API (Office 365 レポート Web サービス に付属) のデータをエクスポートするアプリを作成できるようになりました。この記事では、ご使用のアプリにクライアント ライブラリを Visual Studio で追加する方法、およびこの Web サービスを呼び出してデータをエクスポートするために必要なコードについて取り上げます。
最終更新日: 2015年9月17日
適用対象: Office 365
Office 365 レポート Web サービス クライアント ライブラリを使ってみる
レポート Web サービス クライアント ライブラリは、NuGet.org でホストされています。この新しいクライアント ライブラリを使用すると、数分でレポート データのエクスポートを開始できます。以下の 3 つの簡単な手順を実行するだけです。
新しいプロジェクトを Visual Studio で作成します。
レポート Web サービス クライアント ライブラリを参照できるようにするために、NuGet パッケージをダウンロードします。
この Web サービスを呼び出すコードを作成します。
新しいプロジェクトを Visual Studio 2013 で作成する
コンソール アプリケーションまたは Windows アプリケーションのプロジェクトを C# で作成できます。次の図は、標準的な C# コンソール アプリケーション プロジェクトを示しています。
Visual Studio 2013 におけるコンソール アプリケーション
NuGet パッケージのダウンロード
次の手順を使用して、NuGet パッケージをダウンロードし、Visutal Studio でレポート Web サービス クライアント ライブラリを参照できるようにします。
NuGet パッケージをダウンロードする
Visual Studio 2013 の [ツール] メニューで [NuGet パッケージ マネージャー] をポイントし、[ソリューション用 NuGet パッケージの管理] をクリックします。
[オンライン] をクリックし、[nuget.org] を選択します。
検索ボックスに、[ReportingWebServiceClient] と入力します。
[検索結果] 一覧で、[インストール]、[承諾] の順にクリックし、ライセンス条項に同意します。次に、[閉じる] をクリックし、Visual Studio にライブラリをインストールしてプロジェクト内でライブラリへの参照を取得します。
次の画像に示されているように、プロジェクトにはクライアント ライブラリへの参照が一覧表示されます。
ライブラリへの参照が示されているプロジェクト
これで、Web サービスを呼び出し、データをエクスポートする準備が整いました。
Web サービスを呼び出すコードの実行
Visual Studio プロジェクト内の既定のコードを以下のコードに置き換えて、プロジェクトを実行します。
using Microsoft.Office365.ReportingWebServiceClient;
using System;
namespace O365ReportingDataExport
{
internal class Program
{
private static void Main(string[] args)
{
ReportingContext context = new ReportingContext();
//If you enter invalid authentication information, Visual Studio will throw an exception.
context.UserName = @"PUT YOUR OFFICE 365 USER EMAIL ADDRESS HERE";
context.Password = @"PUT YOUR OFFICE 365 USER PASSWORD HERE";
//FromDateTime & ToDateTime are optional, default value is DateTime.MinValue if not specified
context.FromDateTime = DateTime.MinValue;
context.ToDateTime = DateTime.MinValue;
context.SetLogger(new CustomConsoleLogger());
IReportVisitor visitor = new CustomConsoleReportVisitor();
ReportingStream stream1 = new ReportingStream(context, "MailboxUsageDetail", "stream1");
//Calls VisitReport
stream1.RetrieveData(visitor);
Console.WriteLine("Press Any Key...");
Console.ReadKey();
}
private class CustomConsoleLogger : ITraceLogger
{
public void LogError(string message)
{
Console.WriteLine(message);
}
public void LogInformation(string message)
{
Console.WriteLine(message);
}
}
private class CustomConsoleReportVisitor : IReportVisitor
{
public override void VisitBatchReport()
{
foreach (ReportObject report in this.reportObjectList)
{
VisitReport(report);
}
}
public override void VisitReport(ReportObject record)
{
Console.WriteLine("Record: " + record.Date.ToString());
}
}
}
}
現在サポートされているレポート
次の種類のレポートが現在サポートされています。
クライアント ソフトウェアのブラウザーの詳細
クライアント ソフトウェアの OS の詳細
クライアントの種類ごとの接続*
グループ アクティビティ*
メールボックス アクティビティ*
メールボックス使用状況
OneDrive for Business のユーザー アクティビティ ログ
OneDrive for Business サイトの展開*
OneDrive for Business サイトのストレージ*
SharePoint Online のアクティブ ユーザー*
SharePoint Online のチーム サイトの展開*
SharePoint Online のテナント ストレージ メトリックス*
失効したメールボックス
失効したメールボックスの詳細
注意
アスタリスク (*) 付きのレポートの種類は、同じレポートの日次、週次、月次、および年次の集計が別個に提供されていることを示します。これら 4 種類の集計が用意されていないレポートの種類もあります。
このプロジェクトへの投稿
このクライアント ライブラリは、Microsoft 提供の MIT ライセンスによって管理されているオープン ソース プロジェクトです。github で利用できます。投稿をお待ちしています。
フィードバックの送信
質問がおありですか? StackOverflow でお尋ねください。質問には [O365RwsClient] というタグを付けてください。
また、 Yammer における Office 365 技術ネットワークでもチームにお問い合わせください。このライブラリに関するフィードバックを歓迎いたします。