driveItem: createLink

名前空間: microsoft.graph

重要

Microsoft Graph のバージョンの /beta API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 API が v1.0 で使用できるかどうかを確認するには、 バージョン セレクターを使用します。

createLink アクション を使用すると 、共有リンクを介して driveItem を共有できます。

createLink アクションは、呼び出し元のアプリケーションに指定されたリンクの種類が存在しない場合に、新しい共有リンクを作成します。指定された種類の共有リンクがアプリで既に存在している場合、既存の共有リンクが返されます。

DriveItem リソースは、そのリソースの先祖から共有アクセス許可を継承します。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) Files.ReadWrite、Files.ReadWrite.All、Sites.ReadWrite.All
委任 (個人用 Microsoft アカウント) Files.ReadWrite、Files.ReadWrite.All
アプリケーション Files.ReadWrite.All、Sites.ReadWrite.All

HTTP 要求

POST /drives/{driveId}/items/{itemId}/createLink
POST /groups/{groupId}/drive/items/{itemId}/createLink
POST /me/drive/items/{itemId}/createLink
POST /sites/{siteId}/drive/items/{itemId}/createLink
POST /users/{userId}/drive/items/{itemId}/createLink

要求ヘッダー

名前 説明
Authorization ベアラー {token}。必須。
Content-Type application/json. Required.

要求本文

要求本文はアプリケーションが要求する共有リンクのプロパティを定義します。 要求は、次のプロパティを含む JSON オブジェクトである必要があります。

プロパティ 説明
type String Optional.作成する共有リンクの種類。
scope String 省略可能。 作成するリンクのスコープ。 匿名、組織、またはユーザーのいずれか。
expirationDateTime DateTimeOffset 省略可能。 DateTime の yyyyy-MM-ddTHH:mm:ssZ の形式の文字列は、アクセス許可の有効期限を示します。
パスワード String Optional.作成者が設定した共有リンクのパスワード。
Recipients driveRecipient コレクション 省略可能。 共有リンクへのアクセスを受け取る受信者のコレクション。

type パラメーターには次の値を使用できます。

種類の値 説明
view driveItem への読み取り専用リンクを 作成します
レビュー driveItem へのレビュー リンクを 作成します。 このオプションは、ファイル内のファイルOneDrive for BusinessおよびSharePoint。
edit driveItem への読み取り/書き込みリンクを 作成します
埋め込み driveItem への埋め込み可能なリンクを 作成します
blocksDownload driveItem へのダウンロードをブロックする読み取り専用リンクを 作成します。 このオプションは、ファイル内のファイルOneDrive for BusinessおよびSharePoint。
createOnly driveItem へのアップロード専用リンクを 作成します。 このオプションは、フォルダー内のフォルダー OneDrive for BusinessおよびSharePoint。
addressBar 新しく作成したファイルのブラウザー アドレス バーに表示される既定のリンクを作成します。 OneDrive for Business および SharePoint の場合のみ使用できます。 組織の管理者は、このリンクの種類がサポートされているかどうかを構成し、このリンクの種類でサポートされている機能を構成します。
adminDefault 組織の管理者によって決定される driveItem への既定のリンクを作成します。 OneDrive for Business および SharePoint の場合のみ使用できます。 ポリシーは、管理者によって組織に適用されます。

スコープの種類

scope パラメーターには次の値を使用できます。

説明
匿名 リンクを知っているすべてのユーザーは、サインインするこなくアクセスできます。 これには、組織外のユーザーも含まれる場合があります。 匿名リンクのサポートは、管理者により無効にされることがあります。
組織 組織 (テナント) にサインインしているユーザーは、リンクを使用してアクセスできます。 OneDrive for Business および SharePoint の場合のみ使用できます。
users 受信者コレクション内の特定のユーザーは、リンクを使用してアクセスを取得できます。 OneDrive for Business および SharePoint の場合のみ使用できます。

応答

正常に実行されると、このメソッドは要求された共有アクセス許可を表す応答本文で、単一のアクセス許可リソースを返します。

応答は 201 Created 、driveItem に対して新しい共有リンクが作成された場合、または既存のリンク 200 OK が返される場合です。

次の使用例は、ユーザーのページで {itemId} で指定された driveItem に対して共有リンクを作成OneDrive。 共有リンクは、読み取り専用でそのリンクによってだれでも使用可能になるよう構成されます。

要求

POST /me/drive/items/{itemId}/createLink
Content-Type: application/json

{
  "type": "view",
  "scope": "anonymous",
  "password": "String",
  "recipients": [
    {
      "@odata.type": "microsoft.graph.driveRecipient"
    }
  ]
}

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var type = "view";

var scope = "anonymous";

var password = "String";

var recipients = new List<DriveRecipient>()
{
    new DriveRecipient
    {
    }
};

await graphClient.Me.Drive.Items["{driveItem-id}"]
    .CreateLink(type,scope,null,password,null,recipients,null)
    .Request()
    .PostAsync();

重要

Microsoft Graph SDK では、既定で v1.0 バージョンの API が使用され、ベータ 版で使用できるすべての種類、プロパティ、API はサポートされていません。 SDK を使用してベータ API にアクセスする方法の詳細については、「Microsoft Graph SDK とベータ API を使用する」を参照してください。

SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください

応答

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "view",
    "scope": "anonymous",
    "webUrl": "https://1drv.ms/A6913278E564460AA616C71B28AD6EB6",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  },
  "hasPassword": true
}

OneDrive for Business および SharePoint は、会社の共有可能リンクをサポートしています。 これらは匿名リンクに似ていますが、所有組織のメンバーだけが使用できる点が異なります。 会社の共有可能リンクを作成するには、scope パラメーターで値 organization を指定して使用します。

要求

POST /me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "edit",
  "scope": "organization"
}

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var type = "edit";

var scope = "organization";

await graphClient.Me.Drive.Items["{driveItem-id}"]
    .CreateLink(type,scope,null,null,null,null,null)
    .Request()
    .PostAsync();

重要

Microsoft Graph SDK では、既定で v1.0 バージョンの API が使用され、ベータ 版で使用できるすべての種類、プロパティ、API はサポートされていません。 SDK を使用してベータ API にアクセスする方法の詳細については、「Microsoft Graph SDK とベータ API を使用する」を参照してください。

SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください

応答

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "edit",
    "scope": "organization",
    "webUrl": "https://contoso-my.sharepoint.com/personal/ellen_contoso_com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

リンクの種類で embed を使用する場合、返される webUrl は <iframe> HTML 要素に埋め込むことができます。埋め込みリンクが作成されると、webHtml プロパティに <iframe> がコンテンツをホストするための HTML コードが含まれます。

注: 埋め込みリンクは、OneDrive 個人用でのみサポートされます。

要求

POST /me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "embed"
}

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var type = "embed";

await graphClient.Me.Drive.Items["{driveItem-id}"]
    .CreateLink(type,null,null,null,null,null,null)
    .Request()
    .PostAsync();

重要

Microsoft Graph SDK では、既定で v1.0 バージョンの API が使用され、ベータ 版で使用できるすべての種類、プロパティ、API はサポートされていません。 SDK を使用してベータ API にアクセスする方法の詳細については、「Microsoft Graph SDK とベータ API を使用する」を参照してください。

SDK をプロジェクトに追加し、authProvider インスタンスを作成する方法の詳細については、SDK のドキュメントを参照してください

応答

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["read"],
  "link": {
    "type": "embed",
    "webHtml": "<IFRAME src=\"https://onedrive.live.com/...\"></IFRAME>",
    "webUrl": "https://onedive.live.com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

備考

  • 組織の既定のポリシーと driveItem に対する呼び出し元のアクセス許可に基づいてリンクを作成するには、スコープパラメーターと型パラメーターを省略します。
  • 組織に既定の有効期限ポリシーが適用されている場合を除き、このアクションを使用して作成されたリンクに期限はありません。
  • リンクは driveItem の共有アクセス許可に表示され 、driveItem の所有者によって 削除できます
  • driveItem がチェックアウトされていない限り、リンクは常に driveItem の現在のバージョンを指SharePointです。