3
0

More than 1 year has passed since last update.

SharePoint OnlineでREST Getメソッドを使ってリストアイテムを取得する

Last updated at Posted at 2022-08-17

SharePointOnline(以下SPO)で作成したリストに対してJavaScriptからデータの取得操作を行った時の覚え書きです。

はじめに

SPOではREST APIを使用してリスト上のアイテムの取得/登録/更新/削除を行う機能が含まれています。
本記事ではデータの取得を行うGETメソッドについてまとめました。

REST要求の送信

SPOにおけるjQueryおよびAjaxを使用したREST GETリクエストのベースは以下のようになります。

$.ajax({
  contentType: "application/json;odata=verbose",
  headers: {
    "accept": "application/json;odata=verbose"
  },
  method: "GET",
  url: "https://xxx", // SharePointリソースにアクセスするためのREST URL(後述)
  success: (data => {
    // ここに成功したときの処理を記載する
  }),
  error: (error => {
    // ここにエラーが発生したときの処理を記載する
  })
})

SharePointリソースにアクセスするためのREST URL

ベースとなるURL構成は以下です。

https://{サイトURL}/_api/web/lists/GetByTitle('リスト名')

GETメソッドによるデータ取得

今回は以下のような状態を想定してコードを記載しています。

  • サイトURL: (ドメイン名)/sites/FruitPortal
  • リスト名: Apple

条件を指定して特定のアイテムだけを取得する

特定のプロパティに対して条件を設定する場合は、以下のサンプルコードのようにURLにフィルタークエリ(ODataクエリ)を追記してから、続けて条件式を入力します。

// Titleプロパティが'example'と一致するアイテムを取得する
$.ajax({
  contentType: "application/json;odata=verbose",
  headers: {
    "accept": "application/json;odata=verbose"
  },
  method: "GET",
  // URLに使用できない文字はURLエンコードした文字に置き換える
  // $ -> %24
  // 半角スペース -> %20
  url: "https://(ドメイン名)/sites/FruitPortal/_api/web/lists/GetByTitle('Apple')/items%24filter=Title%20eq%20'example'",
  success: (data => {
    data = data.d.results;
  }),
  error: (error => {
    console.log(JSON.stringify(error));
  })
})

OData要求についてはこちらを参照してください。
URLエンコードの対応についてはこちらを参照してください。

以下に主要な演算子とよく利用する検索条件についてまとめました。

演算子 意味
eq 等価
ne 等価でない
gt より大きい
ge 以上
lt より小さい
le 以下
  • IDが一致するアイテムを取得する
$filter=ID eq 2
  • 特定のプロパティの数値が指定の数より大きいアイテムを取得する
// Countプロパティの値が10より大きいアイテムを取得
$filter=Count gt 10
  • 指定した日時以降に作成したアイテムを取得する
$filter=Modified ge DateTime'2022-08-05T09:00:00'

終わりに

今回はSPOでREST APIを用いたデータの取得方法についてまとめました。
残りのPOST/PUT/DELETEメソッドも順次公開していきたいと思います。

参考ページ

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0