SharePointにJavaScriptでTickerを実装する - WebService の呼び出し(2)
昨日まででとりあえずの Web Service 呼び出しはできたのでスクリプトをもう少しいじっていく。その前に、必要そうな引数をもう少し調査。
viewName
Views.asmx の GetViewCollection を使えばビューのリストを取得できるので、viewName で指定する GUID がわかる。ただそれも面倒なので、代替手段としては、listName を引っ張ってきたように…
- 任意の内容でビューを作成する
- 作成したビューの編集を行う
- 表示された URL の /_layouts/ViewEdit.aspx 以下に URL エンコードされた View というパラメタが viewName なのでデコードして使う
ビューを作っておけるなら、他のパラメタを指定しなくていいので楽ちん。
Views.asmx の GetView や、List.asmx の GetListAndView を用いれば、後々使うフィールド名の取得もできる。
query
詳細は MSDN - Query 要素 (クエリ) を見るとして、GroupBy、OrderBy、Where の指定でグループ化やソート順、フィルタの指定ができる。FieldRef の Name は viewFields のものと同じ。
MSDNのサンプルそのままだけどこんな感じの指定になる。
viewFields
下記のように指定する。
<viewFields>
<ViewFields>
<FieldRef Name="ID" />
<FieldRef Name="Title" />
</ViewFields>
</viewFields>
<FieldRef Name="***" />を連ねていけばいい。Name の部分はリストのフィールド名で、日本語はつかえない気がする。リストページの HTML ソースを見て、 DisplayName で検索、近くにある Name の値を調べればいいかも。もしくは、ビューの情報から指定する必要有り。
表示名例 | Name |
---|---|
タイトル | Title |
本文 | Body |
レンジ | _x30b5__x30d6__x30cd__x30c3__x30 |
rowLimit
取得したい件数を指定するだけ、これは単純
queryOptions
日付を UTC で取得したい場合などに指定する模様、とりあえずこれはパス。
webID
SiteData.asmx の GetWeb を使えば取得できるけど、無くてもうまく動いてるのでひとまずパス。