listItem: createLink
名前空間: microsoft.graph
重要
Microsoft Graph のバージョンの /beta API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 API が v1.0 で使用できるかどうかを確認するには、 バージョン セレクターを使用します。
listItem の共有リンク を作成します。
createLink アクションは、呼び出し元のアプリケーションに対して指定されたリンクの種類が存在しない場合、新しい共有リンクを作成します。 指定した種類の共有リンクがアプリに既に存在する場合、このアクションは既存の共有リンクを返します。
listItem リソース は、アイテムが存在する リストから共有 アクセス許可を継承します。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法など、詳細については、「アクセス許可」 を参照してください。
| アクセス許可の種類 | アクセス許可 (特権の小さいものから大きいものへ) |
|---|---|
| 委任 (職場または学校のアカウント) | Files.ReadWrite、Files.ReadWrite.All、Sites.ReadWrite.All |
| 委任 (個人用 Microsoft アカウント) | Files.ReadWrite、Files.ReadWrite.All |
| アプリケーション | Files.ReadWrite.All、Sites.ReadWrite.All |
HTTP 要求
POST /sites/{siteId}/lists/{listId}/items/{itemId}/createLink
要求ヘッダー
| 名前 | 説明 |
|---|---|
| Authorization | ベアラー {token}。必須。 |
| Content-Type | application/json. Required. |
要求本文
要求本文で、パラメーターの JSON 表記を指定します。
次の表に、このアクションで使用できるパラメーターを示します。
| プロパティ | 種類 | 説明 |
|---|---|---|
| type | String | 作成する共有リンクの種類。 オプション。 |
| scope | String | 作成するリンクのスコープ。 、anonymousまたは organization 。users オプション。 |
| expirationDateTime | DateTimeOffset | DateTime の yyyyy-MM-ddTHH:mm:ssZ の形式の文字列は、アクセス許可の有効期限を示します。 オプション。 |
| パスワード | String | 作成者が設定した共有リンクのパスワード。 オプション。 |
| Recipients | driveRecipient コレクション | 共有リンクへのアクセスを受け取る受信者のコレクション。 オプション。 |
リンクの種類
type パラメーターには次の値を使用できます。
| 種類の値 | 説明 |
|---|---|
| view | そのアイテムへの読み取り専用リンクを作成します。 |
| レビュー | アイテムへのレビュー リンクを作成します。 このオプションは、ファイル内のファイルOneDrive for BusinessおよびSharePoint。 |
| edit | アイテムへの読み取り/書き込みリンクを作成します。 |
| 埋め込み | そのアイテムへの埋め込み可能なリンクを作成します。 |
| blocksDownload | アイテムへのダウンロードをブロックする読み取り専用リンクを作成します。 このオプションは、ファイル内のファイルOneDrive for BusinessおよびSharePoint。 |
| createOnly | アイテムへのアップロード専用リンクを作成します。 このオプションは、フォルダー内のフォルダー OneDrive for BusinessおよびSharePoint。 |
| addressBar | 新しく作成したファイルのブラウザー アドレス バーに表示される既定のリンクを作成します。 OneDrive for Business および SharePoint の場合のみ使用できます。 組織の管理者は、このリンクの種類がサポートされているかどうかを構成し、このリンクの種類でサポートされている機能を構成します。 |
| adminDefault | 組織の管理者が決定したアイテムへの既定のリンクを作成します。 OneDrive for Business および SharePoint の場合のみ使用できます。 ポリシーは、管理者によって組織に適用されます。 |
スコープの種類
scope パラメーターには次の値を使用できます。
| 値 | 説明 |
|---|---|
| 匿名 | リンクを知っているすべてのユーザーは、サインインするこなくアクセスできます。 これには、組織外のユーザーも含まれる場合があります。 匿名リンクのサポートは、管理者により無効にされることがあります。 |
| 組織 | 組織 (テナント) にサインインしているユーザーは、リンクを使用してアクセスできます。 OneDrive for Business および SharePoint の場合のみ使用できます。 |
| users | 受信者コレクション内の特定のユーザーは、リンクを使用してアクセスを取得できます。 OneDrive for Business および SharePoint の場合のみ使用できます。 |
応答
成功した場合、このメソッドは、要求された共有アクセス許可を表す応答本文内の 1 つのアクセス許可リソースを返します。
応答は、listItem 201 Created 200 OK に対して新しい共有リンクが作成された場合、または既存のリンクが返される場合です。
例
例 1: 匿名共有リンクを作成する
次の使用例は、{listId} で指定されたリスト内の {itemId} で指定された listItem に対して共有リンクを作成します。 共有リンクは、読み取り専用でそのリンクによってだれでも使用可能になるよう構成されます。
要求
POST sites/{siteId}/lists/{listId}/items/{itemId}/createLink
Content-Type: application/json
{
"type": "view",
"scope": "anonymous",
"password": "String",
"recipients": [
{
"@odata.type": "microsoft.graph.driveRecipient"
}
]
}
応答
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
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
}
例 2: 会社の共有可能なリンクの作成
OneDrive for Business および SharePoint は、会社の共有可能リンクをサポートしています。
これらは匿名リンクに似ていますが、所有組織のメンバーだけが使用できる点が異なります。
会社の共有可能リンクを作成するには、scope パラメーターで値 organization を指定して使用します。
要求
POST /sites/{siteId}/lists/{listId}/items/{itemId}/createLink
Content-Type: application/json
{
"type": "edit",
"scope": "organization"
}
応答
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"
},
}
}
例 3: 埋め込み可能なリンクの作成
リンクの種類で embed を使用する場合、返される webUrl は <iframe> HTML 要素に埋め込むことができます。埋め込みリンクが作成されると、webHtml プロパティに <iframe> がコンテンツをホストするための HTML コードが含まれます。
注: 埋め込みリンクは、OneDrive 個人用でのみサポートされます。
要求
POST /sites/{siteId}/lists/{listId}/items/{itemId}/createLink
Content-Type: application/json
{
"type": "embed"
}
応答
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"
},
}
}
注釈
- 組織の既定のポリシーと listItem に対する呼び出し元のアクセス許可に基づいてリンクを作成するには、スコープパラメーターと型パラメーターを省略します。
- 組織に既定の有効期限ポリシーが適用されている場合を除き、このアクションを使用して作成されたリンクに期限はありません。
- リンクは listItem の共有アクセス許可に表示され、listItem の所有者によって削除できます。
- listItem がチェックアウトされていない限り、リンクは常に現在のバージョンの listItem をポイントします (SharePointのみです)。
フィードバック
フィードバックの送信と表示