SharePoint の新しいビュー:Sites、AllLists、AllFiles
CData SharePoint ドライバーおよびコネクタのバージョン 24.0.9190 以降、REST スキーマに以下の新しいビューが追加されました。
- Sites: 新しい Sites ビューは、SharePoint ドメイン全体のすべてのサイトを取得します。
- AllLists: ドメイン内のすべての SharePoint サイトおよびサブサイトからリストを取得します。
- AllFiles: ドメイン内のすべての SharePoint サイトおよびサブサイトの全ライブラリからファイルとフォルダを取得します。
CData SharePoint ドライバーのこの機能は 2025年3月のドライバーリリースで追加され、SharePoint ドメイン内のすべてのサイトからファイル情報を取得できるようになりました。以前の CData SharePoint ドライバーでは、URL 接続プロパティで指定した SharePoint サイトのデータにのみアクセスできました。サブサイトや SharePoint ドメイン内の他のサイトのデータにアクセスするには、それらのサイトからファイル情報にアクセスする際に各サイトへの接続を個別に設定する必要がありました。新しく追加されたビューにより、単一の接続設定ですべてのサイトからファイル情報を取得できるようになりました。
この記事では、これらの新しく公開されたビューへのクエリ例を紹介し、カラムとそのデータ型を含むデータモデルについて説明します。
実装例
すべてのサイトからファイル情報を取得
SharePoint ドメイン内のすべてのサイトから全ファイルのファイル情報を取得するには、AllFiles ビューにクエリを実行します。以下のクエリは、SharePoint ドメイン内のすべてのファイルのファイル情報を返します。
SELECT * FROM AllFiles
結果:
| SiteURL | LibraryId | Name |
|---|---|---|
| https://cdata0.sharepoint.com | 1b31f3b1-23c8-4edd-8e5b-f3180aee8fce | Fulfillments_2025-03-17-12-08-25_0002.xml |
| https://cdata0.sharepoint.com | 1b31f3b1-23c8-4edd-8e5b-f3180aee8fce | Fulfillments_2025-03-10-15-48-41_0001.xml |
| https://cdata0.sharepoint.com | 1b31f3b1-23c8-4edd-8e5b-f3180aee8fce | Drivers_Dynamics3651_TestConnection (1).log |
| https://cdata0.sharepoint.com | 1b31f3b1-23c8-4edd-8e5b-f3180aee8fce | shopifyFullfilmentlineitem.json |
| https://cdata0.sharepoint.com | 398ad7e1-c78f-4d07-b63b-81aad54c74b7 | _MySQLV2_TestConnection (1).log |
特定のサイトからファイル情報を取得
特定のサイトからすべてのファイル情報を取得するには、SQL ステートメントの WHERE 句に SiteURL を指定します。サイト URL を取得する方法の1つは、Sites ビューにクエリを実行することです。以下のクエリは、すべてのサイトのサイト名、サイト URL、サイトの説明を返します。
SELECT Title, SiteURL, Description FROM Sites
結果:
| Title | SiteURL | Description |
|---|---|---|
| Communication Site | https://cdata0.sharepoint.com | |
| Marketing | https://cdata0.sharepoint.com/sites/Marketing | Marketing Team |
| Product Management | https://cdata0.sharepoint.com/sites/ProductManagement | Product Management |
| Product | https://cdata0.sharepoint.com/sites/Product | Product Team |
| PreSales | https://cdata0.sharepoint.com/sites/PreSales | PreSales Team |
ファイル情報を取得したいサイトの SiteURL を取得したら、その サイト URL を WHERE 句に含めます。例えば、以下のクエリは 'https://cdata0.sharepoint.com/sites/product' サイトのファイル情報のみを取得します。
SELECT * FROM AllFiles WHERE SiteURL = 'https://cdata0.sharepoint.com/sites/product'
結果:
| SiteURL | LibraryId | Name |
|---|---|---|
| https://cdata0.sharepoint.com/sites/product | 1342af2b-897b-4e84-91e4-717be4622dfd | __siteIcon__.png |
| https://cdata0.sharepoint.com/sites/product | 1342af2b-897b-4e84-91e4-717be4622dfd | __siteIcon__.jpg |
| https://cdata0.sharepoint.com/sites/product | cdd6685b-4882-4435-993c-4451526bc855 | Apps |
| https://cdata0.sharepoint.com/sites/product | cdd6685b-4882-4435-993c-4451526bc855 | Yammer |
| https://cdata0.sharepoint.com/sites/product | cdd6685b-4882-4435-993c-4451526bc855 | image.png |
特定のサイト内の特定のライブラリからファイル情報を取得
サイト内の特定のライブラリからすべてのファイル情報を取得するには、SQL ステートメントの WHERE 句に LibraryId を追加します。ライブラリの Id は AllLists ビューにクエリを実行して取得できます。AllLists ビューは、ライブラリを含むすべてのリストに関する情報を取得します。以下のクエリは、'https://cdata0.sharepoint.com/sites/product' サイト内のライブラリを含むリスト情報を返します。
SELECT Id, Title FROM AllLists WHERE SiteURL = 'https://cdata0.sharepoint.com/sites/product'
結果:
| Id | Title |
|---|---|
| 83056ada-2452-4b3d-af29-974393fc23b3 | appdata |
| d4c6a277-7817-4069-a390-97ec324a8ec2 | appfiles |
| 0a01493f-2de4-4535-a811-4a638c12b5e3 | Composed Looks |
| cdd6685b-4882-4435-993c-4451526bc855 | Documents |
| 633e3ffc-8ff1-421a-bd9a-bf23cf80406e | Form Templates |
ファイル情報を取得したいライブラリの LibraryId を取得したら、その Id を WHERE 句に含めます。例えば、以下のクエリは指定した LibraryId を持つライブラリのファイル情報のみを取得します。
SELECT * FROM AllFiles WHERE SiteURL = 'https://cdata0.sharepoint.com/sites/product' AND LibraryId = '1342af2b-897b-4e84-91e4-717be4622dfd'
結果:
| SiteURL | LibraryId | Name |
|---|---|---|
| https://cdata0.sharepoint.com/sites/product | 1342af2b-897b-4e84-91e4-717be4622dfd | __siteIcon__.png |
| https://cdata0.sharepoint.com/sites/product | 1342af2b-897b-4e84-91e4-717be4622dfd | __siteIcon__.jpg |
注意: 上記の例の一部の結果は、読みやすさのために省略および再フォーマットされています。実際のクエリ結果はより大きくなりますが、例では行とカラムの代表的なサブセットのみを表示しています。
データモデル
Sites
| 名前 | 型 | 説明 |
|---|---|---|
| SiteURL [KEY] | String | サイトの完全なパス。 |
| SiteCollectionId | String | サイトコレクションの一意の識別子。 |
| WebId | String | サイトコレクション内の特定のサイトの一意の識別子。 |
| Title | String | サイトのタイトル。 |
| SiteCollectionURL | String | サイトコレクションの URL。 |
| Description | String | アイテムの説明。 |
| Created | Datetime | サイトが作成された日時。 |
| LastModified | Datetime | サイトが最後に変更された日時。 |
| SPWebUrl | String | ブラウザでリソースを表示する URL。 |
| Author | String | サイトの作成者。 |
| DocumentSignature | String | サイトのドキュメント署名。 |
| FileExtension | String | サイトのファイル拡張子。 |
| SecondaryFileExtension | String | サイトのファイルの二次拡張子。 |
| FileType | String | サイトのファイルタイプ。 |
| DocId | Long | 地理的位置内のサイトの一意の識別子。 |
| GeoLocationSource | String | サイトの地理的位置。 |
| HitHighlightedSummary | String | サイトのハイライト表示されたサマリー。 |
| Importance | Long | サイトの重要度。 |
| IsContainer | Bool | サイトがフォルダかどうかを指定します。 |
| IsDocument | Bool | サイトがドキュメントかどうかを指定します。 |
| Path | String | 現在のサイトパス。 |
| Rank | Double | サイトのランク。 |
| RenderTemplateId | String | サイトのコントロールレンダリングテンプレート名。 |
| SiteLogo | String | サイトのロゴの URI。 |
| ViewsLifeTime | Long | サイト作成以来の総閲覧数。 |
| ViewsRecent | Long | 過去14日間のサイトの総閲覧数。 |
| WebTemplate | String | サイトの作成元となった Web テンプレート。 |
AllLists
| 名前 | 型 | 説明 |
|---|---|---|
| SiteURL [KEY] | String | SharePoint サイトの URL |
| Id [KEY] | String | リストの一意の識別子 |
| Title | String | リストのタイトル |
| BaseTemplate | Int | リストの作成に使用されたテンプレートタイプ |
| BaseType | Int | リストの基本タイプ |
| Description | String | リストの説明 |
| Hidden | Bool | リストが非表示かどうかを示します |
| AllowDeletion | Bool | リストを削除できるかどうかを示します |
| ItemCount | Int | リスト内のアイテム数 |
| Created | Datetime | リストが作成された日時 |
| LastItemDeletedDate | Datetime | リストから最後にアイテムが削除された日時 |
| LastItemModifiedDate | Datetime | リスト内で最後にアイテムが変更された日時 |
| LastItemUserModifiedDate | Datetime | リスト内でユーザーが最後にアイテムを変更した日時 |
| HasUniqueRoleAssignments | Bool | リストに固有のロール割り当てがあるかどうかを示します |
| DefaultDisplayFormUrl | String | リストのデフォルト表示フォームの URL |
| DefaultEditFormUrl | String | リストのデフォルト編集フォームの URL |
| DefaultNewFormUrl | String | リストのデフォルト新規フォームの URL |
| DefaultViewPath_DecodedUrl | String | リストのデフォルトビューパスのデコードされた URL |
| DefaultViewUrl | String | リストのデフォルトビューの URL |
| DisableCommenting | Bool | リストのコメント機能が無効かどうかを示します |
| DocumentTemplateUrl | String | リストのドキュメントテンプレートの URL |
| EnableAttachments | Bool | リストで添付ファイルが有効かどうかを示します |
| EnableFolderCreation | Bool | リストでフォルダ作成が有効かどうかを示します |
| EntityTypeName | String | リストのエンティティタイプ名 |
| ImagePath_DecodedUrl | String | リストの画像パスのデコードされた URL |
| ImageUrl | String | リストの画像の URL |
| IsApplicationList | Bool | リストがアプリケーションリストかどうかを示します |
| IsCatalog | Bool | リストがカタログかどうかを示します |
| IsDefaultDocumentLibrary | Bool | リストがデフォルトのドキュメントライブラリかどうかを示します |
| IsPrivate | Bool | リストがプライベートかどうかを示します |
| IsSystemList | Bool | リストがシステムリストかどうかを示します |
| ListFormCustomized | Bool | リストフォームがカスタマイズされているかどうかを示します |
| ListItemEntityTypeFullName | String | リストアイテムのエンティティタイプの完全名 |
| ParentWebPath_DecodedUrl | String | リストの親 Web パスのデコードされた URL |
| ParentWebUrl | String | リストの親 Web の URL |
| ReadSecurity | Int | リストの読み取りセキュリティレベル |
| ServerTemplateCanCreateFolders | Bool | サーバーテンプレートがリスト内にフォルダを作成できるかどうかを示します |
AllFiles
| 名前 | 型 | 説明 |
|---|---|---|
| SiteURL [KEY] | String | SharePoint サイトの URL |
| LibraryId [KEY] | String | ライブラリの Id |
| FileId [KEY] | Int | アイテムの一意の識別子 |
| Name | String | ファイルの名前 |
| Title | String | アイテムのタイトル |
| FileSize | String | ファイルのサイズ |
| FileType | String | ファイルのタイプ |
| ItemType | Int | アイテムのタイプ: Invalid (-1). File (0). Folder (1). Web (2). |
| Description | String | アイテムの詳細な説明 |
| Path | String | ファイルへのパス |
| ServerRelativeURL | String | ファイルのサーバー相対 URL |
| EncodedAbsoluteURL | String | ファイルのエンコードされた絶対 URL |
| CheckedOutTo | Int | ファイルをチェックアウトしたユーザーの ID |
| CheckInComment | String | チェックイン時に追加されたコメント |
| Version | String | アイテムのバージョン |
| ContentTypeID | String | アイテムのコンテンツタイプ ID |
| UniqueId | String | アイテムの一意の ID |
| GUID | String | アイテムのグローバル一意識別子 |
| Created | Datetime | アイテムの作成日 |
| CreatedBy | String | アイテムを作成したユーザー |
| Modified | Datetime | アイテムの最終更新日 |
| ModifiedBy | String | アイテムを最後に変更したユーザー |