Microsoft Graph でのファイルの作業Working with files in Microsoft Graph

Microsoft Graph を使用して、OneDrive、OneDrive for Business、および SharePoint のドキュメント ライブラリに配置されるファイルに接続するアプリケーションを作成できます。You can use Microsoft Graph to create an app that connects with files across OneDrive, OneDrive for Business, and SharePoint document libraries. Microsoft Graph を使用することで、ユーザーのドキュメントを単に格納することから、複雑なファイル共有の複雑なシナリオまで、Office 365 に格納されるファイルに関するさまざまなエクスペリエンスを構築できます。With Microsoft Graph, you can build a variety of experiences with files stored in Office 365, from simply storing user documents to complex file sharing scenarios.

Microsoft Graph では、以下のファイルを操作するための 2 種類のリソースが公開されています。Microsoft Graph exposes two resource types for working with files:

  • Drive - ドキュメント ライブラリやユーザーの OneDrive など、ファイルの論理コンテナーを表します。Drive - Represents a logical container of files, like a document library or a user's OneDrive.
  • DriveItem -ドキュメント、写真、ビデオ、フォルダーなど、ドライブ内のアイテムを表します。DriveItem - Represents an item within a drive, like a document, photo, video, or folder.

ファイル間での相互作用のほとんどは、DriveItem リソース間での相互作用によって発生します。次に、DriveItem リソースの例を示します。Most of the interaction with files occurs through interaction with DriveItem resources. The following is an example of a DriveItem resource:

{
  "@content.downloadUrl":"https://public-sn3302.files.1drv.com/y2pcT7OaUEExF7EHOlpTjCE55mIUoiX7H3sx1ff6I-nP35XUTBqZlnkh9FJhWb_pf9sZ7LEpEchvDznIbQig0hWBeidpwFkOqSKCwQylisarN6T0ecAeMvantizBUzM2PA1",
  "createdDateTime": "2016-09-16T03:37:04.72Z",
  "cTag": "aYzpENDY0OEYwNkM5MUQ5RDNEITU0OTI3LjI1Ng",
  "eTag": "aRDQ2NDhGMDZDOTFEOUQzRCE1NDkyNy4w",
  "id":"D4648F06C91D9D3D!54927",
  "lastModifiedBy": {
    "user": {
      "displayName": "Daron Spektor",
      "id": "d4648f06c91d9d3d"
    }
  },
  "name":"BritishShorthair.jpg",
  "size":35212,
  "image":{
    "height":398,
    "width":273
  },
  "file": {
    "hashes":{
      "sha1Hash":"wmgPQ6jrSeMX7JP1XmstQEGM2fc="
    }
  }
}

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

  • プロパティ (ID名前など) は単純な値 (文字列、数値、ブール値) を公開します。Properties (like id and name) expose simple values (strings, numbers, Booleans).
  • ファセット (ファイル写真など) は複雑な値を公開します。ファイルまたはフォルダーのファセットの有無は、DriveItem の動作およびプロパティを示します。Facets (like file and photo) expose complex values. The presence of file or folder facets indicates behaviors and properties of a DriveItem.
  • 参照 (サムネイルなど) はその他のリソースのコレクションを指します。References (like children and thumbnails) point to collections of other resources.

一般的にアクセスされるリソースCommonly accessed resources

ファイルの相互作用に関するほとんどの API 要求では、Drive または DriveItem にアクセスするために以下の基本リソースのいずれかを使用します。Most API requests for file interactions will use one of these base resources to access a Drive or DriveItem.

パスPath リソースResource
/me/drive ユーザーの OneDrive。User's OneDrive
/me/drives そのユーザーに使用できる OneDrive リソースを列挙します。Enumerate OneDrive resources available to the user.
/drives/{drive-id} ドライブの ID を使用して特定の Drive にアクセスします。Access a specific Drive by the drive's ID.
/drives/{drive-id}/root/children 特定の Drive のルートにある DriveItem リソースを列挙します。Enumerate the DriveItem resources in the root of a specific Drive.
/me/drive/items/{item-id} 一意の ID を使用してユーザーの OneDrive にある DriveItem にアクセスします。Access a DriveItem in the user's OneDrive by its unique ID.
/me/drive/special/{special-id} 既知の名前を使用してユーザーの OneDrive にある特別な (名前付き) フォルダーにアクセスします。Access a special (named) folder in the user's OneDrive by its known name.
/users/{user-id}/drive 別のユーザーの一意の ID を使用してそのユーザーの OneDrive にアクセスします。Access another user's OneDrive by using the user's unique ID.
/groups/{group-id}/drive グループの一意の ID を使用してグループの既定のドキュメント ライブラリにアクセスします。Access the default document library for a group by the group's unique ID.
/shares/{share-id} sharedId や共有 URL を使用して DriveItem にアクセスします。Access a DriveItem by its sharedId or sharing URL.
/sites/{site-id}/drive 指定した SharePoint サイトの既定のドライブ (ドキュメント ライブラリ) にアクセスしますAccess the default drive (document library) for the given site.
/sites/{site-id}/drives SharePoint サイトの下にあるドライブ (ドキュメント ライブラリ) を列挙しますEnumerate the Drives (document libraries) under the given SharePoint site

一意の ID を使用して Drive 内の DriveItem にアドレス指定することに加え、既知のリソースからの相対パスを使用することによってアプリで DriveItem にアドレス指定することもできます。パスを使用してアドレス指定するには、コロン (:) を使用して相対パスをエスケープします。次の表に、コロンを使用してパスでアイテムをアドレス指定するいくつかの方法を示します。In addition to addressing a DriveItem within a Drive by unique ID, your app can also address a DriveItem by relative path from a known resource. To address using a path, the colon (:) character is used to escape the relative path. This table provides an example of different ways to use the colon character to address an item by path.

PathPath リソースResource
/me/drive/root:/path/to/file ユーザーの OneDrive ルート フォルダーへの相対パスを使用して DriveItem にアクセスします。Access a DriveItem by path relative to the user's OneDrive root folder.
/me/drive/items/{item-id}:/path/to/file 別のアイテム (folder ファセットを持つ DriveItem) への相対パスを使用して DriveItem にアクセスします。Access a DriveItem by path relative to another item (a DriveItem with a folder facet).
/me/drive/root:/path/to/folder:/children ユーザーの OneDrive のルートへの相対パスを使用して DriveItem の子を一覧表示します。List the children of a DriveItem by path relative to the root of the user's OneDrive.
/me/drive/items/{item-id}:/path/to/folder:/children 別のアイテムへの相対パスを使用して DriveItem の子を一覧表示します。List the children of a DriveItem by path relative to another item.

ドライブ リソースDrive resource

ドライブ リソースは、ユーザーの OneDrive または SharePoint ドキュメント ライブラリ内の最上位のオブジェクトです。The Drive resource is the top-level object within a user's OneDrive or a SharePoint document library. ほぼすべてのファイル操作は、特定のドライブ リソースをアドレス指定することによって開始されます。Nearly all files operations will start by addressing a specific drive resource.

ドライブの一意の ID または UserGroup、組織の既定のドライブを使用して、ドライブ リソースをアドレス指定できます。A drive resource can be addressed either by the drive's unique ID or by the default drive for a User, Group, or organization.

DriveItem リソースDriveItem resource

DriveItem は、ドライブのファイル システム内のオブジェクトです。/items/{item-id} 構文で id を使用して、または /root:/path/to/item/ 構文でファイル システム パスを使用して、それらにアクセスできます。DriveItems are the objects inside a drive's file system. They can be accessed by their id by using /items/{item-id} syntax, or by their file system path using the /root:/path/to/item/ syntax.

DriveItem には、アイテムの id および機能に関するデータを提供する_ファセット_が存在します。DriveItems have facets that provide data about the item's identity and capabilities.

folder ファセットを持つ DriveItem は、アイテムのコンテナーとして機能し、フォルダーの下のアイテムのコレクションを指す参照を持ちます。DriveItems with a folder facet act as containers of items, and have a children reference, which points to a collection of items under the folder.

共有フォルダーおよびリモート アイテムShared folders and remote items

OneDrive 個人ユーザーは、別のドライブから自分の OneDrive に 1 つ以上の共有アイテムを追加できます。これらの共有のアイテムは、remoteItem ファセットを持つコレクションの DriveItem として表示されます。OneDrive personal users can add one or more shared items from another drive to their own OneDrive. These shared items appear as a DriveItem in the children collection with a remoteItem facet.

共有フォルダーとリモート アイテムの操作方法の詳細については、「リモート アイテムおよび共有フォルダー」を参照してください。For more information about working with shared folders and remote items, see Remote items and shared folders.

共有とアクセス許可Sharing and permissions

OneDrive と SharePoint のドキュメント ライブラリの最も一般的な操作の 1 つは、他のユーザーとコンテンツを共有することです。Microsoft Graph を使用することによって、アプリで共有リンクを作成し、アクセス許可を追加してドライブ内のアイテムに招待状を送信することができます。One of the most common actions for OneDrive and SharePoint document libraries is sharing content with other people. Microsoft Graph allows your app to create sharing links, add permissions and send invitations to items in a drive.

Microsoft Graph では、アプリで共有リンクから共有コンテンツに直接アクセスすることもできます。Microsoft Graph also provides a way for your app to access shared content directly from a sharing link.