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}