REST APIを使ったリストからのデータ取得
<pre>function getItems() {
$.support.cors = true;
//サイトコレクションのURL
spsite = "";
var data = $.ajax({
url: spsite + "_api/Web/Lists/GetByTitle('<listname>')/items?$select=Member/Name,Member/Title,Member/Id,Member/Department,Member/JobTitle,Title,Id&$expand=Member&$filter=title eq 'dammy'",
type: "GET",
headers: {
"accept": "application/json;odata=verbose",
},
success: this.successGetItems,
error: function (xhr) { alert(xhr.status + ": " + xhr.statusText) }
});
}
function successGetItems(data) {
for (i = 0; i < data.d.results.length ; i++) {
//data.d.results[i].Member.Name
//data.d.results[i].Title
}
});
}
</listname></pre>
ポイントはPeople型の要素の扱いで、そのままだとユーザ名などが取得できず、$expand=Memberで展開して$select=にMember/Name(名前)やMember/Id(ID)などルックアップされた情報を明記しないと使いづらい。
filter=title eq ‘dammy’などでフィルターも可能。
取得したデータはsuccessGetItemsで、forとかで回して1つづつ処理する。