名前空間: microsoft.graph
重要
Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
注意
この機能を baseTask または baseTaskList と共に使用する既存のアプリは、これらのリソースに基づいて構築された To Do API セットが 2022 年 5 月 31 日に非推奨になったので、更新する必要があります。 その API セットは、2022 年 8 月 31 日にデータを戻すことを停止します。 todoTask 上に構築された API セットを使用してください。
サポートされているリソースの種類で Open 拡張機能 (openTypeExtension オブジェクト) を更新します。
- 要求本文内のプロパティが拡張情報内の既存のプロパティの名前と一致すると、拡張情報内のデータが更新されます。
- それ以外の場合、そのプロパティとそのデータが拡張機能に追加されます。
拡張機能内のデータには、プリミティブ型またはプリミティブ型の配列を指定できます。 操作は、ディレクトリ オブジェクトであるリソースと他のリソースの動作が異なります。
開いている拡張機能をサポートするリソースの一覧については、「 アクセス許可」 セクションの表を参照してください。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス | 米国政府機関 L4 | 米国政府機関 L5 (DOD) | 21Vianet が運営する中国 |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
アクセス許可
拡張機能が作成されたリソースと、要求されたアクセス許可の種類 (委任またはアプリケーション) に応じて、次の表に指定されているアクセス許可は、この API を呼び出すために必要な最小限の特権です。 より多くの特権アクセス許可を選択する前に注意することを含め、詳細については、[アクセス許可] で次のアクセス許可を検索してください。
| サポートされているリソース | 委任 (職場または学校のアカウント) | 委任 (個人用 Microsoft アカウント) | アプリケーション |
|---|---|---|---|
| device | Directory.AccessAsUser.All | サポートされていません。 | Device.ReadWrite.All |
| driveItem | Files.ReadWrite | Files.ReadWrite | サポートされていません。 |
| イベント | Calendars.ReadWrite | Calendars.ReadWrite | Calendars.ReadWrite |
| グループ | Group.ReadWrite.All | サポートされていません。 | Group.ReadWrite.All |
| グループ イベント | Group.ReadWrite.All | サポートされていません。 | サポートされていません。 |
| グループの投稿 | Group.ReadWrite.All | サポートされていません。 | Group.ReadWrite.All |
| メッセージ | Mail.ReadWrite | Mail.ReadWrite | Mail.ReadWrite |
| organization | Organization.ReadWrite.All | サポートされていません。 | Organization.ReadWrite.All |
| 個人用連絡先 | Contacts.ReadWrite | Contacts.ReadWrite | Contacts.ReadWrite |
| site | Sites.ReadWrite.All | サポートされていません。 | サポートされていません。 |
| todoTask | Tasks.ReadWrite | Tasks.ReadWrite | サポートされていません。 |
| todoTasklist | Tasks.ReadWrite | Tasks.ReadWrite | サポートされていません。 |
| ユーザー | User.ReadWrite | サポートされていません。 | User.ReadWrite.All |
| baseTask (非推奨) | Tasks.ReadWrite | Tasks.ReadWrite | サポートされていません。 |
| baseTasklist (非推奨) | Tasks.ReadWrite | Tasks.ReadWrite | サポートされていません。 |
HTTP 要求
要求で、リソース インスタンスを識別し、そのインスタンスの extensions ナビゲーション プロパティを使用して拡張機能を識別し、その拡張インスタンスで PATCH を行います。
PATCH /administrativeUnits/{administrativeUnitId}/extensions/{extensionId}
PATCH /devices/{deviceId}/extensions/{extensionId}
PATCH /users/{userId|userPrincipalName}/events/{eventId}/extensions/{extensionId}
PATCH /groups/{groupId}/extensions/{extensionId}
PATCH /groups/{groupId}/events/{eventId}/extensions/{extensionId}
PATCH /groups/{groupId}/threads/{threadId}/posts/{postId}/extensions/{extensionId}
PATCH /users/{userId|userPrincipalName}/messages/{messageId}/extensions/{extensionId}
PATCH /organization/{organizationId}/extensions/{extensionId}
PATCH /users/{userId|userPrincipalName}/contacts/{contactId}/extensions/{extensionId}
PATCH /users/{userId|userPrincipalName}/extensions/{extensionId}
PATCH /users/me/todo/lists/{listId}/tasks/{taskId}/extensions/{extensionId}
PATCH /users/me/todo/lists/{listId}/extensions/{extensionId}
PATCH /users/me/tasks/lists/{listId}/tasks/{taskId}/extensions/{extensionId}
PATCH /users/me/tasks/lists/{listId}/extensions/{extensionId}
PATCH /drive/items/{itemId}/extensions/{extensionId}
PATCH /sites/{siteId}/extensions/{extensionId}
注: 上記の構文は、含まれる拡張機能を更新するリソース インスタンスを特定する一般的な方法を示しています。 こうしたリソース インスタンスを特定するために使用できる他の構文すべても、同様の方法でオープン拡張機能を更新できます。
要求本文に、その拡張情報への変更や追加を行うための任意のカスタム データを含める方法については、要求本文のセクションをご覧ください。
要求ヘッダー
| 名前 | 値 |
|---|---|
| Authorization | ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。 |
| Content-Type | application/json |
要求本文
要求本文で、更新するプロパティの値 のみを 指定します。 要求本文に含まれていない既存のプロパティは、以前の値を維持するか、他のプロパティ値の変更に基づいて再計算されます。
次の表に、更新できるプロパティを示します。
次に示す必須の名前/値のペアと、その拡張情報に変更を加えるデータまたは追加するデータとともに、openTypeExtension オブジェクトの JSON 本文を指定します。
| プロパティ | 型 | 説明 |
|---|---|---|
| @odata.type | 文字列 |
#microsoft.graph.openTypeExtension である必要があります。 必須です。 |
| extensionName | String | id が指定されていない場合は必須です。 更新。 |
| id | 文字列 | id が指定されていない場合は必須です。 読み取り専用です。 |
ディレクトリ (Microsoft Entra ID) オブジェクトであるリソースの場合:
- 開いている拡張オブジェクトのプロパティを更新するには、要求本文 のすべての プロパティを指定する必要があります。それ以外の場合、Microsoft Graph は指定されていないプロパティを削除します。
- 開いている拡張オブジェクト内のプロパティからデータを削除し、 プロパティを保持するには、その値を
nullに設定します。 - 開いている拡張オブジェクトからプロパティを削除するには、PATCH 要求本文で渡さないでください。Microsoft Graph によって削除されます。
- 開いている拡張オブジェクトのすべてのプロパティからデータを削除し、開いている拡張オブジェクトを保持するには、すべてのプロパティの値を
nullに更新します。
メッセージなどの Microsoft 365 リソースの場合:
- 要求本文でプロパティのサブセットを指定して、プロパティを更新できます。 省略されたプロパティとその値は保持されます。
-
null値は許可されません。
応答
成功した場合、このメソッドは、ディレクトリ オブジェクトの 204 No Content 応答コード、または 200 OK 応答コードと、他のリソースの更新された openTypeExtension オブジェクトを 返します。
例
要求 1
最初の例では、メッセージ内の拡張情報を更新する方法を示します。 この拡張情報は、最初に次の JSON ペイロードで表されます。
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
"@odata.type": "#microsoft.graph.openTypeExtension",
"@odata.id": "https://graph.microsoft.com/beta/users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"extensionName": "Com.Contoso.Referral",
"id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"companyName": "Wingtip Toys",
"dealValue": 500050,
"expirationDate": "2015-12-03T10:00:00Z"
}
拡張情報は、その名前で参照できます。
PATCH https://graph.microsoft.com/beta/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Com.Contoso.Referral
また、拡張情報は、その完全修飾名でも参照できます。
PATCH https://graph.microsoft.com/beta/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral
要求の例と以下の要求本文を使用して、上記の拡張情報を次のように更新できます。
-
companyNameをWingtip ToysからWingtip Toys (USA)に変更する -
dealValueを500050から500100に変更する - 新しいデータをカスタム プロパティ
updatedとして追加する
{
"@odata.type": "microsoft.graph.openTypeExtension",
"extensionName": "Com.Contoso.Referral",
"companyName": "Wingtip Toys (USA)",
"dealValue": "500100",
"expirationDate": "2015-12-03T10:00:00.000Z",
"updated": "2015-10-29T11:00:00.000Z"
}
応答 1
ここでは、拡張情報を参照するために使用する方法にかかわらず、同じになる応答を示します。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
"@odata.type": "#microsoft.graph.openTypeExtension",
"@odata.id": "https://graph.microsoft.com/beta/users('ddfc984d-b826-40d7-b48b-57002df85e00@1717f226-49d1-4d0c-9d74-709fad6677b4')/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions
('Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral')",
"id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral",
"extensionName": "Com.Contoso.Referral",
"companyName": "Wingtip Toys (USA)",
"dealValue": 500100,
"expirationDate": "2015-12-03T10:00:00Z",
"updated": "2015-10-29T11:00:00.000Z"
}
要求 2
2 番目の例では、グループ投稿に含まれる拡張情報を更新する方法を示します。 この拡張情報は、次の JSON ペイロード (expirationDate の値が 2015-07-03T13:04:00Z) で最初に表されます。
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#groups('37df2ff0-0de0-4c33-8aee-75289364aef6')/threads('AAQkADJizZJpEWwqDHsEpV_KA%3D%3D')/posts('AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA%3D')/extensions/$entity",
"@odata.type": "#microsoft.graph.openTypeExtension",
"id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate",
"extensionName": "Com.Contoso.Estimate",
"companyName": "Contoso",
"expirationDate": "2015-07-03T13:04:00Z",
"DealValue": 1010100,
"Strings@odata.type": "#Collection(String)",
"topPicks": [
"Employees only",
"Add spouse or guest",
"Add family"
]
}
次に、expirationDate を 2016-07-30T11:00:00Z に変更する要求と要求本文を示します。
PATCH https://graph.microsoft.com/beta/groups/37df2ff0-0de0-4c33-8aee-75289364aef6/threads/AAQkADJizZJpEWwqDHsEpV_KA==/posts/AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA=/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate
Content-type: application/json
{
"@odata.type": "#microsoft.outlookServices.openTypeExtension",
"extensionName": "Com.Contoso.Estimate",
"companyName": "Contoso",
"expirationDate": "2016-07-30T11:00:00.000Z",
"DealValue": 1010100,
"topPicks": [
"Employees only",
"Add spouse or guest",
"Add family"
]
}
応答 2
ここでは、拡張情報内の更新された expirationDate を表示する 2 番目の例の応答を示します。
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#groups('37df2ff0-0de0-4c33-8aee-75289364aef6')/threads('AAQkADJizZJpEWwqDHsEpV_KA%3D%3D')/posts('AAMkADJiUg96QZUkA-ICwMubAADDEd7UAAA%3D')/extensions/$entity",
"@odata.type": "#microsoft.graph.openTypeExtension",
"id": "Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Estimate",
"extensionName": "Com.Contoso.Estimate",
"companyName": "Contoso",
"expirationDate": "2016-07-30T11:00:00Z",
"DealValue": 1010100,
"Strings@odata.type": "#Collection(String)",
"topPicks": [
"Employees only",
"Add spouse or guest",
"Add family"
]
}
要求 3
次の例は、 driveItem で開いている拡張機能を更新する方法を示しています。
PATCH https://graph.microsoft.com/beta/drive/items/01FWCEC553UUOHTOAGBVE2IXBQTIZY3JZQ/extensions/Com.Contoso.Estimate
Content-type: application/json
{
"extensionName": "newExtensionName",
"myCustomString": "Contoso data",
"myCustomBool": false
}
応答 3
次の例は、拡張機能に更新された extensionName を含む応答を示しています。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "extensionId",
"extensionName": "newExtensionName",
"myCustomString": "Contoso data",
"myCustomBool": false
}
要求 4
次の例は、 サイトで開いている拡張機能を更新する方法を示しています。
PATCH https://graph.microsoft.com/beta/sites/8f52f9ad-4f4f-4739-b682-7c0283207937/extensions/Com.Contoso.Estimate
Content-type: application/json
{
"extensionName": "newExtensionName",
"myCustomString": "Contoso data",
"myCustomBool": false
}
応答 4
次の例は、拡張機能に更新された extensionName を含む応答を示しています。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "extensionId",
"extensionName": "newExtensionName",
"myCustomString": "Contoso data",
"myCustomBool": false
}