Power BI Report Server 用の REST API を使って開発する

Power BI Report Server は、Representational State Transfer (REST) API をサポートします。 REST API は、一連の HTTP 操作 (メソッド) をサポートするサービス エンドポイントであり、レポート サーバー内のリソースに対する作成、取得、更新、削除アクセスを提供します。

REST API を使うと、Power BI Report Server カタログ内のオブジェクトにプログラムでアクセスできます。 オブジェクトの例としては、フォルダー、レポート、KPI、データ ソース、データセット、更新計画、サブスクリプションなどがあります。 REST API を使用すると、たとえば、フォルダー階層内の移動、フォルダーの内容の検出、レポート定義のダウンロードなどを行うことができます。 また、オブジェクトの作成、更新、および削除を行うこともできます。 オブジェクトの操作の例としては、レポートのアップロード、更新計画の実行、フォルダーの削除などがあります。

注意

個人データの表示または削除については、「GDPR の Windows データ主体要求」サイトに方法が掲載されているのでそちらをご参照ください。 GDPR に関する一般的な情報については、Service Trust Portal の GDPR セクションを参照してください。

REST API の要求/応答のコンポーネント

REST API の要求/応答ペアは、次の 5 つのコンポーネントに分けることができます。

  • 要求 URI{URI-scheme} :// {URI-host} / {resource-path} ? {query-string} で構成されます。 要求 URI は要求メッセージ ヘッダーに含まれていますが、ほとんどの言語やフレームワークでは要求メッセージとは別に渡す必要があるため、ここでは独立した項目にしてあります。

    • URI スキーム: 要求の送信に使用されるプロトコルを示します。 たとえば、http または https です。
    • URI ホスト: myserver.contoso.com など、REST サービス エンドポイントがホストされているサーバーのドメイン名または IP アドレスを指定します。
    • リソース パス: リソースまたはリソース コレクションを指定します。リソースの選択を決定するときにサービスによって使用される複数のセグメントを含むことができます。 たとえば、CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties を使用して、CatalogItem の指定したプロパティを取得できます。
    • クエリ文字列 (省略可能): API のバージョンやリソースの選択条件など、簡単な追加パラメーターを提供します。
  • HTTP 要求メッセージ ヘッダーのフィールド:

    • 必須の HTTP メソッド (操作または動詞ともいう)。要求する操作の種類をサービスに通知します。 Reporting Services REST API では、DELETE、GET、HEAD、PUT、POST、および PATCH の各メソッドがサポートされます。
    • 省略可能な追加ヘッダー フィールド。指定された URI および HTTP メソッドで必要です。
  • 省略可能な HTTP 要求メッセージ本文のフィールド。URI および HTTP 操作をサポートするためのものです。 たとえば、POST 操作には、複合パラメーターとして渡される MIME でエンコードされたオブジェクトが含まれます。 POST または PUT 操作の場合、本文の MIME エンコードの種類を Content-type 要求ヘッダーでも指定する必要があります。 一部のサービスでは、application/json などの特定の MINE の種類を使用する必要があります。

  • HTTP 応答メッセージ ヘッダーのフィールド:

    • HTTP 状態コード。成功コードの 2xx から、エラー コードの 4xx または 5xx までの範囲です。 または、API のドキュメントに記載されているように、サービスで定義された状態コードが返されることもあります。
    • 省略可能な追加ヘッダー フィールド。要求の応答をサポートするために必要です (Content-type 応答ヘッダーなど)。
  • 省略可能な HTTP 応答メッセージ本文のフィールド:

    • MIME でエンコードされた応答オブジェクトが HTTP 応答の本文で返されます (データを返す GET メソッドからの応答など)。 通常、これらのオブジェクトは、Content-type 応答ヘッダーで示される、JSON や XML などの構造化された形式で返されます。

API のドキュメント

最新の REST API には最新の API ドキュメントが必要です。 REST API は、(swagger 仕様とも言う) OpenAPI 仕様に基づいて構築されており、ドキュメントは、「Microsoft Learn」で入手できます。

API 呼び出しのテスト

HTTP 要求/応答メッセージをテストするためのツールは Fiddler です。 Fiddler は、REST 要求をインターセプトできる無料の Web デバッグ プロキシであり、HTTP 要求/応答メッセージの診断が容易になります。

使用できる API については、Microsoft Learn を参照してください。

サンプルは GitHub で入手できます。 このサンプルには、TypeScript、React、webpack でビルドされた HTML5 アプリと、PowerShell の例が含まれます。

その他の質問 Power BI コミュニティで質問してみてください