Power BI Report Server 用の REST API を使って開発するDevelop with the REST APIs for Power BI Report Server

Power BI Report Server は、Representational State Transfer (REST) API をサポートします。Power BI Report Server support Representational State Transfer (REST) APIs. REST API は、一連の HTTP 操作 (メソッド) をサポートするサービス エンドポイントであり、レポート サーバー内のリソースに対する作成、取得、更新、削除アクセスを提供します。The REST APIs are service endpoints that support a set of HTTP operations (methods), which provide create, retrieve, update, or delete access for resources within a report server.

REST API を使うと、Power BI Report Server カタログ内のオブジェクトにプログラムでアクセスできます。The REST API provides programmatic access to the objects in a Power BI Report Server catalog. オブジェクトの例としては、フォルダー、レポート、KPI、データ ソース、データセット、更新計画、サブスクリプションなどがあります。Examples of objects are folders, reports, KPIs, data sources, datasets, refresh plans, subscriptions, and more. REST API を使うと、たとえば、フォルダー階層内の移動、フォルダーの内容の検出、レポート定義のダウンロードなどを行うことができます。Using the REST API, you can, for example, navigate the folder hierarchy, discover the contents of a folder, or download a report definition. オブジェクトを作成、更新、削除することもできます。You can also create, update, and delete objects. オブジェクトの操作の例は、レポートのアップロード、更新計画の実行、フォルダーの削除などです。Examples of working with objects are upload a report, execute a refresh plan, delete a folder, and so on.

REST API の要求/応答のコンポーネントComponents of a REST API request/response

REST API の要求/応答ペアは、5 つのコンポーネントに分けることができます。A REST API request/response pair can be separated into five components:

  • 要求 URI{URI-scheme} :// {URI-host} / {resource-path} ? {query-string} で構成されます。The request URI, which consists of: {URI-scheme} :// {URI-host} / {resource-path} ? {query-string}. 要求 URI は要求メッセージ ヘッダーに含まれていますが、ほとんどの言語やフレームワークでは要求メッセージとは別に渡す必要があるため、ここでは独立した項目にしてあります。Although the request URI is included in the request message header, we call it out separately here because most languages or frameworks require you to pass it separately from the request message.

    • URI スキーム: 要求の送信に使われるプロトコルを示します。URI scheme: Indicates the protocol used to transmit the request. たとえば、httphttps などです。For example, http or https.
    • URI ホスト: REST サービス エンドポイントがホストされているサーバーのドメイン名または IP アドレスを指定します。たとえば、myserver.contoso.com などです。URI host: Specifies the domain name or IP address of the server where the REST service endpoint is hosted, such as myserver.contoso.com.
    • リソース パス: リソースまたはリソース コレクションを指定します。リソースの選択を決定するときにサービスによって使われる複数のセグメントを含むことができます。Resource path: Specifies the resource or resource collection, which may include multiple segments used by the service in determining the selection of those resources. たとえば、CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties を使って、CatalogItem の指定したプロパティを取得できます。For example: CatalogItems(01234567-89ab-cdef-0123-456789abcdef)/Properties can be used to get the specified properties for the CatalogItem.
    • クエリ文字列 (省略可能): API のバージョンやリソースの選択条件など、簡単な追加パラメーターを提供します。Query string (optional): Provides additional simple parameters, such as the API version or resource selection criteria.
  • HTTP 要求メッセージ ヘッダーのフィールド:HTTP request message header fields:

    • 必須の HTTP メソッド (操作または動詞とも呼ばれます)。要求する操作の種類をサービスに通知します。A required HTTP method (also known as an operation or verb), which tells the service what type of operation you are requesting. Reporting Services REST API は、DELETE、GET、HEAD、PUT、POST、PATCH の各メソッドをサポートします。Reporting Services REST APIs support DELETE, GET, HEAD, PUT, POST, and PATCH methods.
    • 省略可能な追加ヘッダー フィールド。指定されている URI および HTTP メソッドで必要な場合があります。Optional additional header fields, as required by the specified URI and HTTP method.
  • 省略可能な HTTP 要求メッセージ本文のフィールド。URI および HTTP 操作をサポートするためのフィールドです。Optional HTTP request message body fields, to support the URI and HTTP operation. たとえば、POST 操作には、複雑なパラメーターとして渡される、MIME でエンコードされたオブジェクトが含まれます。For example, POST operations contain MIME-encoded objects that are passed as complex parameters. POST または PUT 操作の場合、本文の MIME エンコードの種類を、Content-type 要求ヘッダーでも指定する必要があります。For POST or PUT operations, the MIME-encoding type for the body should be specified in the Content-type request header as well. 一部のサービスでは、application/json などの特定の MIME の種類を使う必要があります。Some services require you to use a specific MIME type, such as application/json.
  • HTTP 応答メッセージ ヘッダーのフィールド:HTTP response message header fields:

    • HTTP 状態コード。成功コードの 2xx から、エラー コードの 4xx または 5xx までの範囲です。An HTTP status code, ranging from 2xx success codes to 4xx or 5xx error codes. または、API のドキュメントに記載されているように、サービスで定義された状態コードが返されることもあります。Alternatively, a service-defined status code may be returned, as indicated in the API documentation.
    • 省略可能な追加ヘッダー フィールド。要求の応答をサポートするために必要です (Content-type 応答ヘッダーなど)。Optional additional header fields, as required to support the request's response, such as a Content-type response header.
  • 省略可能な HTTP 応答メッセージ本文のフィールド。Optional HTTP response message body fields:

    • MIME でエンコードされた応答オブジェクトが HTTP 応答の本文で返されます (データを返す GET メソッドからの応答など)。MIME-encoded response objects are returned in the HTTP response body, such as a response from a GET method that is returning data. 通常、これらのオブジェクトは、Content-type 応答ヘッダーによって示される、JSON や XML などの構造化された形式で返されます。Typically, these objects are returned in a structured format such as JSON or XML, as indicated by the Content-type response header.

API のドキュメントAPI documentation

最新の REST API には最新の API ドキュメントが必要です。A modern REST API calls for modern API documentation. REST API は OpenAPI 仕様 (The REST API is built on the OpenAPI specification (a.k.a. Swagger 仕様とも呼ばれます) に基づいて構築されており、ドキュメントは SwaggerHub で入手できます。the swagger specification) and documentation is available on SwaggerHub. SwaggerHub は、API のドキュメントだけでなく、JavaScript、TypeScript、C#, Java、Python、Ruby などの言語でのクライアント ライブラリの生成にも役立ちます。Beyond documenting the API, SwaggerHub helps generate a client library in the language of choice – JavaScript, TypeScript, C#, Java, Python, Ruby, and more.

API 呼び出しのテストTesting API calls

HTTP 要求/応答メッセージをテストするためのツールは Fiddler です。A tool for testing HTTP request/response messages is Fiddler. Fiddler は、REST 要求をインターセプトできる無料の Web デバッグ プロキシであり、HTTP 要求/応答メッセージの診断が容易になります。Fiddler is a free web debugging proxy that can intercept your REST requests, making it easy to diagnose the HTTP request/ response messages.

次の手順Next steps

SwaggerHub で利用可能な API を確認してください。Review the available APIs over on SwaggerHub.

サンプルは GitHub で入手できます。Samples are available on GitHub. このサンプルには、TypeScript、React、webpack で構築された HTML5 アプリと、PowerShell の例が含まれます。The sample includes an HTML5 app built on TypeScript, React, and webpack along with a PowerShell example.

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