Microsoft Graph で SharePoint サイトを開く

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

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

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

次に、listItem リソースの例を示します。

{
  "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 つの方法でデータを公開します。

  • プロパティ (idname など) は単純な値を公開します。
  • ファセット(フィールドcreatedBy など) は複雑な値を公開します。
  • 参照 (items など) はその他のリソースのコレクションを指します。

?expand=fields などの expand クエリ パラメーターで、URL 内の参照を展開することができます。 ?select=id,name などの select クエリ パラメーターで、特定のプロパティやファセットを要求することができます。 既定では、プロパティとファセットはほとんどが返されるのに対し、参照はいずれも表示されません。 効率を高めるには、注目すべきデータだけに selectexpand を返すことをお勧めします。

SharePoint API のルート リソース

以下は、https://graph.microsoft.com/v1.0 に関する例です。

パス 説明
/sites/root 組織の既定のサイト
/sites/{site-id} ID を使って特定のサイトにアクセスする
/sites/{site-id}/drive 指定したサイトの既定のドライブ (ドキュメント ライブラリ) にアクセスする
/sites/{site-id}/drives サイトの下にあるドライブ (ドキュメント ライブラリ) を列挙する。
/sites/{site-id}/sites サイトの下のサブサイトを列挙する。
/sites/{site-id}/lists サイトの下のリストを列挙する。
/sites/{site-id}/lists/{list-id}/items リストの下の listItem を列挙する。
/groups/{group-id}/sites/root グループのチーム サイトにアクセスする

サイトは、SharePoint のホスト名の後にコロンとサイトへの相対パスを入れる形で指定できます。最後にコロン (:) を入れるとリソースモデル指定画面に戻れます (オプション)。

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

既存の 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}

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

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

新機能

この API セットに関する 最新機能や更新プログラム を検索してください。