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

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

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

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

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

    • URI スキーム: 要求の送信に使われるプロトコルを示します。 たとえば、httphttps などです。
    • URI ホスト: REST サービス エンドポイントがホストされているサーバーのドメイン名または IP アドレスを指定します。たとえば、myserver.contoso.com などです。
    • リソース パス: リソースまたはリソース コレクションを指定します。リソースの選択を決定するときにサービスによって使われる複数のセグメントを含むことができます。 たとえば、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 などの特定の MIME の種類を使う必要があります。

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

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

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

API のドキュメント

最新の REST API には最新の API ドキュメントが必要です。 REST API は OpenAPI 仕様 ( Swagger 仕様とも呼ばれます) に基づいて構築されており、ドキュメントは SwaggerHub で入手できます。 SwaggerHub は、API のドキュメントだけでなく、JavaScript、TypeScript、C#, Java、Python、Ruby などの言語でのクライアント ライブラリの生成にも役立ちます。

API 呼び出しのテスト

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

次の手順

SwaggerHub で利用可能な API を確認してください。

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

他にわからないことがある場合は、 Power BI コミュニティで質問してみてください