Microsoft Graph で SharePoint サイトを開くWorking with SharePoint sites in Microsoft Graph

Microsoft Graph の SharePoint API は、以下の基本的なシナリオをサポートしています。The SharePoint API in Microsoft Graph supports the following core scenarios:

  • SharePoint サイトリスト、およびドライブ (ドキュメント ライブラリ) へのアクセスAccess to SharePoint sites, lists, and drives (document libraries)
  • サイト リソースの読み取り専用サポート (新しいサイトは作成できません)Read-only support for site resources (no ability to create new sites)
  • リストlistItem および driveItem の読み取り/書き込みサポートRead-write support for lists, listItems, and driveItems
  • SharePoint ID、URL、または相対パスでリソースを指定するAddress resources by SharePoint ID, URL, or relative path

SharePoint API は、次の 3 つの主要なリソースの種類を公開します。The SharePoint API exposes three major resource types:

次に、listItem リソースの例を示します。The following is an example of a listItem resource.

{
  "fields": {
    "Title": "Access card",
    "Employee": "Ryan Gregg",
    "EmployeeId": "10",
    "CardSerial": "01235492",
    "Alias": "RGregg",
    "ID": 1,
    "ContentType": "Item",
    "Modified": "2016-09-19T23:15:25-07:00",
    "Created": "2016-09-19T23:15:25-07:00"
  },
  "createdBy": {
    "user": {
      "id": "b757fdcb-0271-4807-b243-504139e4ba04",
      "displayName": "Ryan Gregg"
    }
  },
  "createdDateTime": "2016-09-20T06:15:25Z",
  "eTag": "48e941c3-9515-4c48-9760-c07c90c79d48,1",
  "id": "4",
  "lastModifiedBy": {
    "user": {
      "id": "b757fdcb-0271-4807-b243-504139e4ba04",
      "displayName": "Ryan Gregg"
    }
  },
  "lastModifiedDateTime": "2016-09-20T06:15:25Z",
}

リソースでは、次の異なる 3 つの方法でデータを公開します。Resources expose data in three different ways:

  • プロパティ (idname など) は単純な値を公開します。Properties (like id and name) expose simple values.
  • ファセット(フィールドcreatedBy など) は複雑な値を公開します。Facets (like fields and createdBy) expose complex values.
  • 参照 (items など) はその他のリソースのコレクションを指します。References (like items) point to collections of other resources.

?expand=fields などの expand クエリ パラメーターで、URL 内の参照を展開することができます。You can expand references in your URL with the expand query parameter; for example, ?expand=fields. ?select=id,name などの select クエリ パラメーターで、特定のプロパティやファセットを要求することができます。You can request specific properties and facets with the select query parameter; for example, ?select=id,name. 既定では、プロパティとファセットはほとんどが返されるのに対し、参照はいずれも表示されません。By default, most properties and facets are returned while all references are hidden. 効率を高めるには、注目すべきデータだけに selectexpand を返すことをお勧めします。For efficiency, we recommend that you specify select and expand to only return the data you care about.

SharePoint API のルート リソースSharePoint API root resources

以下は、https://graph.microsoft.com/v1.0 に関する例です。The following examples are relative to https://graph.microsoft.com/v1.0.

パスPath 説明Description
/sites/root/sites/root 組織の既定のサイトOrganization's default site.
/sites/{site-id}/sites/{site-id} ID を使って特定のサイトにアクセスするAccess a specific site by its ID.
/sites/{site-id}/drive/sites/{site-id}/drive 指定したサイトの既定のドライブ (ドキュメント ライブラリ) にアクセスするAccess the default drive (document library) for the given site.
/sites/{site-id}/drives/sites/{site-id}/drives サイトの下にあるドライブ (ドキュメント ライブラリ) を列挙する。Enumerate the drives (document libraries) under the site.
/sites/{site-id}/sites/sites/{site-id}/sites サイトの下のサブサイトを列挙する。Enumerate the sub-sites under the site.
/sites/{site-id}/lists/sites/{site-id}/lists サイトの下のリストを列挙する。Enumerate the lists under the site.
/sites/{site-id}/lists/{list-id}/items/sites/{site-id}/lists/{list-id}/items リストの下の listItem を列挙する。Enumerate the listItems under the list.
/groups/{group-id}/sites/root/groups/{group-id}/sites/root グループのチーム サイトにアクセスするAccess a group's team site.

サイトは、SharePoint のホスト名の後にコロンとサイトへの相対パスを入れる形で指定できます。最後にコロン (:) を入れるとリソースモデル指定画面に戻れます (オプション)。Sites can also be addressed by path by using the SharePoint hostname, followed by a colon and the relative path to the site. You can optionally transition back to addressing the resource model by putting another colon at the end.

パスPath 説明Description
/sites/contoso.sharepoint.com:/teams/hr/sites/contoso.sharepoint.com:/teams/hr https://contoso.sharepoint.com/teams/hr に関連付けられているサイトThe site associated with https://contoso.sharepoint.com/teams/hr
/sites/contoso.sharepoint.com:/teams/hr:/drive/sites/contoso.sharepoint.com:/teams/hr:/drive このサイトの既定のドライブにアクセスするAccess the default drive for this site.

既存の SharePoint 開発者向けのメモNote for existing SharePoint developers

Microsoft Graph の SharePoint API は、CSOM API と大きく異なる点がいくつかあります。The Microsoft Graph SharePoint API has a few key differences with the CSOM APIs. サイト リソースは SPWeb にマッピングされます。The site resource maps to SPWeb. サイト コレクションのルート サイト (SPWeb) には、SPSite に関する情報を含む siteCollection ファセットが含まれています。The root site (SPWeb) in a site collection has a siteCollection facet, which contains information about the SPSite. サイトの ID はそのサイト コレクション内でのみ一意であり、ID でサイトを指定する場合、サイト コレクション識別子とサイト識別子の両方を指定する必要があります。Because IDs for sites are only unique within their site collection, addressing a site by ID requires providing both the site collection identifier and the site identifier.

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

ホスト名のみで作成された URL は、既定のサイト コレクションのルート サイト (SPWeb) をポイントします。A URL constructed with only the hostname will point to the root site (SPWeb) in the default site collection.

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

ホスト名と siteCollection (SPSite) ID のみで作成された URL は、指定したサイト コレクションのルート サイト (SPWeb) をポイントします。A URL constructed with only the hostname and siteCollection (SPSite) ID will point to the root site (SPWeb) in the given site collection.

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