SharePoint の GetListCollection を利用する

SharePoint 2007 に標準で用意されている web サービス、Lists.asmx の GetListCollection メソッドを利用すると、指定したサイト(サイトコレクションではない点に注意)に存在するすべてのリストの情報を取得することができます。

Lists.asmx:
http://winserver2003r2/_vti_bin/lists.asmx
呼び出しと戻り値のサンプル:
GetListCollection_sample.zip

特にパラメータなどがなく、URLを指定するだけですのでシンプルです。

<GetListCollectionResult><Lists><List> ノードの属性として以下の値が返ります。主たるものはリストの名前(Title)、GUID(ID)、URL(DefaultViewUrl)というところでしょうか。残念ながらアイテム/ファイル数やコンテンツ容量(サイズ)は含まれていません。

DocTemplateUrl=””
DefaultViewUrl=”/Lists/AddADUser/AllItems.aspx”
MobileDefaultViewUrl=””
ID=”{0264C67F-1B60-4AE4-BB97-23D9121989A0}”
Title=”AddADUser”
Description=””
ImageUrl=”/_layouts/images/itgen.gif”
Name=”{0264C67F-1B60-4AE4-BB97-23D9121989A0}”
BaseType=”0″
FeatureId=”00bfea71-de22-43b2-a848-c05709900100″
ServerTemplate=”100″
Created=”20100831 02:27:26″
Modified=”20100831 02:48:40″
LastDeleted=”20100831 02:27:26″
Version=”28″
Direction=”none”
ThumbnailSize=””
WebImageWidth=””
WebImageHeight=””
Flags=”612372480″
ItemCount=”1″
AnonymousPermMask=”68719677505″
RootFolder=””
ReadSecurity=”1″
WriteSecurity=”1″
Author=”1073741823″
EventSinkAssembly=””
EventSinkClass=””
EventSinkData=””
EmailInsertsFolder=””
EmailAlias=””
WebFullUrl=”/”
WebId=”ad311b16-bf70-4f48-bae6-9d401ed4cb5c”
SendToLocation=””
ScopeId=”32ee61f9-a753-4652-9384-9210909473e0″
MajorVersionLimit=”0″
MajorWithMinorVersionsLimit=”0″
WorkFlowId=””
HasUniqueScopes=”False”
AllowDeletion=”True”
AllowMultiResponses=”False”
EnableAttachments=”True”
EnableModeration=”False”
EnableVersioning=”False”
Hidden=”False”
MultipleDataList=”False”
Ordered=”False”
ShowUser=”True”
EnableMinorVersion=”False”
RequireCheckout=”False”

[2007] 標準 webサービス Lists.asmx
[2007] webサービスのクエリで利用できるquery要素
[2007] 標準 webサービス Lists.asmx


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9