SharePoint で REST を使用して外部データにアクセスする

この記事の SharePoint アドインの部分は、 従来のガイダンスです。 以下の廃止によって、ここで説明する他の API やプラットフォームが廃止されるわけではありません。

重要

SharePoint アドインは、2026 年 4 月 2 日に SharePoint Online のサポートが終了しました。 SharePoint でホストされているアドインとプロバイダーでホストされているアドインはどちらも廃止され、政府機関向けクラウドを含む SharePoint Online では機能しなくなります。 アドインの開発、展開、使用に関するガイダンスは、新しい SharePoint Online ソリューション用ではなく、履歴参照と該当する SharePoint Server シナリオ用に保持されます。

オンプレミスのアプリ カタログを通じて展開された SharePoint Server アドインは、この変更によって廃止されません。 パブリック マーケットプレースからの SharePoint アドインの取得は、SharePoint Server の 2026 年 4 月 2 日に終了しました。

この廃止により、SharePoint REST API、CSOM、JSOM、または SharePoint Framework (SPFx) は廃止されません。 SharePoint Online の場合は、ユーザー インターフェイス拡張機能に SPFx を使用し、外部アプリケーションへの認証に Microsoft Entra ID を使用します。 廃止のお知らせとアドインの移行ガイダンスを参照してください。

Business Connectivity Services (BCS) の Representational State Transfer (REST) URL を使用して、SharePointから外部データにアクセスする方法を説明します。 この記事では、Open Data Protocol (OData) ソースからデータを取得する外部リストを設定する方法を示します。

REST を使用して外部データにアクセスするための前提条件

REST を使用して SharePointから外部データにアクセスするには、次のものが必要です。

  • SharePoint
  • Visual Studio 2012
  • Office Developer Tools for Visual Studio 2012
  • 機能している SharePoint アドインの開発環境: 「SharePoint の一般的な開発環境を設定する」の手順に従ってください。
  • パブリック OData.org プロデューサーへのアクセス

REST を使用した外部データへのアクセスに関する基本概念

SharePointの REST サービスは、特別に作成された URL を使用して外部データにアクセスする手段を提供します。 REST サービスのしくみと使い方については、以下の記事を参照してください。

表 1. SharePoint での REST の主要な概念

記事のタイトル 説明
SharePoint REST サービスを使用したプログラミング SharePoint REST サービスの使用方法を説明します。REST サービスは、既存のクライアント オブジェクト モデルに匹敵する REST プログラミング インターフェイスを提供します。
SharePoint REST サービスの概要 SharePoint REST サービスを使用して SharePoint データへのアクセスおよび更新を行う方法と、REST および OData Web プロトコル標準を使用する方法についての基本事項を説明します。
SharePoint REST エンドポイントを使用して基本的な操作を完了する REST サービスで表される SharePointのデータ構造内を移動し、REST サービス経由で SharePoint アイテムに対する一般的な CRUD (作成、読み取り、更新、削除) 操作を実行し、アプリケーション間で SharePoint アイテムを同期し、アイテムを同時に制御する方法を説明します。

REST を使用して外部データにアクセスする SharePoint アドインの作成

ここでは、REST の機能を使用して外部データ ソースからデータを取得する要求を行うために、SharePoint アドインを設定して Web ページを構成する手順を示します。

SharePoint アドインの作成

  1. Visual Studio 2012 以降。
  2. SharePoint 用アプリ プロジェクトを作成します。
  3. アプリ名、アプリをデバッグするためのサイト URL、アプリのホスト方法 (自動ホスト、プロバイダーホスト、SharePoint ホスト) を含むアプリ設定を指定します。 ホスティング オプションの詳細については、「 SharePoint アドインを開発およびホストするためのパターンを選択する」を参照してください。
  4. [ 完了] を選択してアプリを作成します。

外部コンテンツ タイプを生成するには

  1. ソリューション エクスプローラーで、プロジェクトのショートカット メニューを開き、[ 追加]、[ 外部データ ソースのコンテンツ タイプ] の順に選択します。

  2. [ OData ソースの指定] ページで、接続先の OData サービスの URL を入力します。 ここでは、 https://www.odata.org/ecosystem で公開されている Northwind OData ソースを使用します。 OData サービスの URL を http://services.odata.org/Northwind/Northwind.svc/ に設定し、データ ソースの名前を指定します。

    [次へ]を選択します。

  3. これにより、OData サービスによって公開されているデータ エンティティの一覧が表示されます。 Customers エンティティを選択します。 [ Create list instances for the selected data entities (except Service Operations) (選択したデータ エンティティのリスト インスタンスの作成 (サービス操作を除く))] チェックボックスがオンになっていることを確認してください。

  4. [ 完了] を選択します。

コード例: Home.aspx ページにスクリプトと HTML を追加する

ここまでの手順で、Northwind OData ソースからのデータを表示する外部コンテンツ タイプと外部リストが作成されました。

次は、アプリの作成時に作成された default.aspx ページを変更します。 ページの読み込みとともに実行されるクエリの結果を格納するコンテナーを追加します。 ページ読み込みイベントに対してスクリプトを実行することで、ページが閲覧されるたびにスクリプトが実行されるようになり、それによって Northwind OData ソースへの REST 呼び出しが行われてページにレコードが追加されます。

コンテナーを Default.aspx ページに追加するには

  1. ソリューション エクスプローラーで、[ Pages] モジュールにある Default.aspx ページを開きます。
  2. 次の div 要素をページに追加します。
<div id="displayDiv"></div>
  1. ページを保存します。

最後に、ページのロード時に実行される App.js ファイルにコードを追加します。

REST 呼び出しを行うように App.js ファイルを変更するには

  1. SharePoint プロジェクトのスクリプト モジュールで App.js ファイルを開きます。
  2. ファイルの末尾に次のコードを貼り付けます。
$(document).ready(function () {

  // Namespace
  window.AppLevelECT = window.AppLevelECT || {};

  // Constructor
  AppLevelECT.Grid = function (hostElement, surlWeb) {
      this.hostElement = hostElement;
      if (surlWeb.length > 0 &amp;&amp; surlWeb.substring(surlWeb.length - 1, surlWeb.length) != "/")
          surlWeb += "/";
      this.surlWeb = surlWeb;
  }

  // Prototype
  AppLevelECT.Grid.prototype = {

      init: function () {

          $.ajax({
              url: this.surlWeb + "_api/lists/getbytitle('Customer')/items?$select=BdcIdentity,CustomerID,ContactName",
              headers: {
                  "accept": "application/json",
                  "X-RequestDigest": $("#__REQUESTDIGEST").val()
              },
              success: this.showItems
          });
      },

      showItems: function (data) {
          var items = [];

          items.push("<table>");
          items.push('<tr><td>Customer ID</td><td>Customer Name</td></tr>');

          $.each(data.d.results, function (key, val) {
              items.push('<tr id="' + val.BdcIdentity + '"><td>' +
                  val.CustomerID + '</td><td>' +
                  val.ContactName + '</td></tr>');
          });

          items.push("</table>");

          $("#displayDiv").html(items.join(''));
      }
  }

  ExecuteOrDelayUntilScriptLoaded(getCustomers, "sp.js");
});

function getCustomers() {
    var grid = new AppLevelECT.Grid($("#displayDiv"), _spPageContextInfo.webServerRelativeUrl);
    grid.init();
}

F5 キーを押して、アプリを SharePoint に展開します。 Default.aspx ページをアプリで参照すると、顧客リストがページに表示されます。

関連項目