SharePoint サイト リソースの操作

Microsoft Graph の SharePoint API は、以下の基本的なシナリオをサポートしています。

  • SharePoint サイトリスト、およびドライブ (ドキュメント ライブラリ) へのアクセス
  • サイト リソースの読み取り専用サポート (新しいサイトは作成できません)
  • リストlistItem および driveItem の読み取り/書き込みサポート
  • SharePoint ID、URL、または相対パスでリソースを指定する

SharePoint API は、次の 3 つの主要なリソースの種類を公開します。

タスク

以下のすべての例は、https://graph.microsoft.com/v1.0 からの相対指定です。

タスク名 要求の例
ルート サイトを取得する GET /sites/root
サイトを取得する GET /sites/{site-id}
パスを使用してサイトを取得する GET /sites/{hostname}:/{site-path}
グループのサイトを取得する GET /groups/{group-id}/sites/root
サイトを検索する GET /sites?search={query}
サイトの既定のドキュメント ライブラリにアクセスする GET /sites/{site-id}/drive
サイトにあるドキュメント ライブラリのコレクションを列挙する GET /sites/{site-id}/drives
サイトにあるリストを列挙する GET /sites/{site-id}/lists
ルート サイトを一覧表示する GET /sites?filter=root ne null&select=siteCollection,webUrl
サイトを検索する GET /sites?search={query}

サイトは、SharePoint ホスト名を使用してパスでアドレス指定することもできます。その後にコロンとサイトへの相対パスが続きます。 必要に応じて、最後に別のコロンを配置することで、リソース モデルのアドレス指定に戻ることができます。

パス 説明
/sites/contoso.sharepoint.com:/teams/hr https://contoso.sharepoint.com/teams/hr に関連付けられているサイト
/sites/contoso.sharepoint.com:/teams/hr:/drive このサイトの既定のドライブにアクセスします。

JSON 表記

以下は、サイト リソースの JSON 表記です。

サイト リソースは baseItem から派生しており、そのリソースからプロパティを継承しています。

{
  "id": "string",
  "root": { "@odata.type": "microsoft.graph.root" },
  "sharepointIds": { "@odata.type": "microsoft.graph.sharepointIds" },
  "siteCollection": {"@odata.type": "microsoft.graph.siteCollection"},
  "displayName": "string",

  /* relationships */
  "contentTypes": [ { "@odata.type": "microsoft.graph.contentType" }],
  "drive": { "@odata.type": "microsoft.graph.drive" },
  "drives": [ { "@odata.type": "microsoft.graph.drive" }],
  "items": [ { "@odata.type": "microsoft.graph.baseItem" }],
  "lists": [ { "@odata.type": "microsoft.graph.list" }],
  "sites": [ { "@odata.type": "microsoft.graph.site"} ],
  "columns": [ { "@odata.type": "microsoft.graph.columnDefinition" }],

  /* inherited from baseItem */
  "name": "string",
  "createdDateTime": "datetime",
  "description": "string",
  "eTag": "string",
  "lastModifiedDateTime": "datetime",
  "webUrl": "url"
}

プロパティ

プロパティ名 種類 説明
id string アイテムの一意識別子。 読み取り専用です。
createdDateTime DateTimeOffset アイテムが作成された日時。 読み取り専用です。
説明 string サイトの説明テキスト。
eTag string アイテムの ETag。 読み取り専用です。
displayName string サイトの完全なタイトル。 読み取り専用です。
lastModifiedDateTime DateTimeOffset アイテムが最後に変更された日時。 読み取り専用です。
name string アイテムの名前/タイトル。
root root 存在する場合は、これがサイト コレクションのルート サイトであることを示します。 読み取り専用です。
sharepointIds sharepointIds SharePoint REST 互換性に役立つ識別子を返します。 読み取り専用です。
siteCollection siteCollection サイトのサイト コレクションに関する詳細情報を提供します。 ルート サイトにのみ使用できます。 読み取り専用です。
webUrl string (URL) ブラウザーでアイテムを表示する URL。 読み取り専用です。

リレーションシップ

リレーションシップ名 種類 説明
columns Collection(columnDefinition) このサイトのすべてのリストで再利用可能なコラム定義のコレクションです。
contentTypes Collection(contentType) このサイトに定義されたコンテンツ タイプのコレクションです。
drive ドライブ このサイトの既定ドライブ (ドキュメント ライブラリ)。
ドライブ Collection(drive) このサイトの下のドライブ (ドキュメント ライブラリ) のコレクション。
アイテム Collection(baseItem) このサイトに含まれるすべてのアイテムを処理するために使用されました。 このコレクションを列挙することはできません。
lists Collection(list) このサイトにあるリストのコレクションです。
sites Collection(サイト) このサイトの下のサブサイトのコレクション。

既存の SharePoint 開発者向けのメモ

Microsoft Graph の SharePoint API は、CSOM API と大きく異なる点がいくつかあります。 サイト リソースは SPWeb にマッピングされます。 サイト コレクションのルート サイト (SPWeb) には、SPSite に関する情報を含む siteCollection ファセットが含まれています。 サイトの ID はそのサイト コレクション内でのみ一意であり、ID でサイトを指定する場合、サイト コレクション識別子とサイト識別子の両方を指定する必要があります。

GET https://graph.microsoft.com/v1.0/sites/{hostname},{spsite-id},{spweb-id}/

ホスト名のみで作成された URL は、既定のサイト コレクションのルート サイト (SPWeb) をポイントします。

GET https://graph.microsoft.com/v1.0/sites/{hostname}

ホスト名と siteCollection (SPSite) ID のみで作成された URL は、指定したサイト コレクションのルート サイト (SPWeb) をポイントします。

GET https://graph.microsoft.com/v1.0/sites/{hostname},{spsite-id}