オープン拡張機能を更新するUpdate open extension

要求本文内のプロパティでオープン拡張機能 (openTypeExtension オブジェクト) を更新します。Update an open extension (openTypeExtension object) with the properties in the request body:

  • 要求本文内のプロパティが拡張情報内の既存のプロパティの名前と一致すると、拡張情報内のデータが更新されます。If a property in the request body matches the name of an existing property in the extension, the data in the extension is updated.
  • 一致しないと、このプロパティとそのデータは拡張情報に追加されます。Otherwise that property and its data are added to the extension.

拡張機能内のデータは、プリミティブ型、またはプリミティブ型の配列にすることができます。The data in an extension can be primitive types, or arrays of primitive types.

アクセス許可Permissions

拡張機能が作成されたリソースと、要求されたアクセス許可の種類 (委任またはアプリケーション) に応じて、次の表で指定されているアクセス許可は、この API を呼び出すために必要な最低限の特権です。Depending on the resource that the extension was created in and the permission type (delegated or application) requested, the permission specified in the following table is the least privileged required to call this API. アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。To learn more, including how to choose permissions, see Permissions.

サポートされているリソースSupported resource 委任 (職場または学校のアカウント)Delegated (work or school account) 委任 (個人用 Microsoft アカウント)Delegated (personal Microsoft account) アプリケーションApplication
devicedevice Directory.AccessAsUser.AllDirectory.AccessAsUser.All サポート対象外Not supported Device.ReadWrite.AllDevice.ReadWrite.All
eventevent Calendars.ReadWriteCalendars.ReadWrite Calendars.ReadWriteCalendars.ReadWrite Calendars.ReadWriteCalendars.ReadWrite
グループgroup Group.ReadWrite.AllGroup.ReadWrite.All サポート対象外Not supported Group.ReadWrite.AllGroup.ReadWrite.All
グループ イベントgroup event Group.ReadWrite.AllGroup.ReadWrite.All サポート対象外Not supported サポート対象外Not supported
グループの投稿group post Group.ReadWrite.AllGroup.ReadWrite.All サポート対象外Not supported Group.ReadWrite.AllGroup.ReadWrite.All
メッセージmessage Mail.ReadWriteMail.ReadWrite Mail.ReadWriteMail.ReadWrite Mail.ReadWriteMail.ReadWrite
組織organization Directory.AccessAsUser.AllDirectory.AccessAsUser.All サポート対象外Not supported 非サポートNot supported
個人用連絡先personal contact Contacts.ReadWriteContacts.ReadWrite Contacts.ReadWriteContacts.ReadWrite Contacts.ReadWriteContacts.ReadWrite
ユーザーuser User.ReadWrite.AllUser.ReadWrite.All User.ReadWriteUser.ReadWrite User.ReadWrite.AllUser.ReadWrite.All

HTTP 要求HTTP request

要求で、リソース インスタンスを識別し、そのインスタンスの extensions ナビゲーション プロパティを使用して拡張機能を識別し、その拡張インスタンスで PATCH を行います。In the request, identify the resource instance, use the extensions navigation property of that instance to identify the extension, and do a PATCH on that extension instance.

PATCH /devices/{Id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/events/{id}/extensions/{extensionId}
PATCH /groups/{id}/extensions/{extensionId}
PATCH /groups/{id}/events/{id}/extensions/{extensionId}
PATCH /groups/{id}/threads/{id}/posts/{id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/messages/{id}/extensions/{extensionId}
PATCH /organization/{Id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/contacts/{id}/extensions/{extensionId}
PATCH /users/{id|userPrincipalName}/extensions/{extensionId}

注: 上記の構文は、含まれる拡張機能を更新するリソース インスタンスを特定する一般的な方法を示しています。こうしたリソース インスタンスを特定するために使用できる他の構文すべても、同様の方法でオープン拡張機能を更新できます。Note: The above syntax shows some common ways to identify a resource instance, in order to update an extension in it. All other syntax that allows you to identify these resource instances supports updating open extensions in them in a similar way.

要求本文に、その拡張情報への変更や追加を行うための任意のカスタム データを含める方法については、要求本文のセクションをご覧ください。See the Request body section about including in the request body any custom data to change or add to that extension.

パス パラメーターPath parameters

パラメーターParameter Type 説明Description
idid stringstring 対応するコレクションのインスタンスの一意識別子。必須。A unique identifier for an instance of the corresponding collection. Required.
extensionIdextensionId stringstring これは、拡張情報の一意のテキスト識別子である拡張情報名、または拡張情報の種類と一意のテキスト識別子を連結した完全修飾名になります。完全修飾名は、拡張情報を作成したときに、id プロパティで返されます。必須。This can be an extension name which is a unique text identifier for an extension, or a fully qualified name which concatenates the extension type and unique text identifier. The fully qualified name is returned in the id property when you create the extension. Required.

要求ヘッダーRequest headers

名前Name Value
AuthorizationAuthorization ベアラー {トークン}。必須。Bearer {token}. Required.
Content-TypeContent-Type application/jsonapplication/json

要求本文Request body

次に示す必須の名前/値のペアと、その拡張情報に変更を加えるデータまたは追加するデータとともに、openTypeExtension オブジェクトの JSON 本文を指定します。JSON ペイロード内のデータは、プリミティブ型か、プリミティブ型の配列にすることができます。Provide a JSON body of an openTypeExtension object, with the following required name-value pairs, and any custom data to change or add to that extension. The data in the JSON payload can be primitive types, or arrays of primitive types.

名前Name Value
@odata.type@odata.type microsoft graph の opentypeextensionmicrosoft.graph.openTypeExtension
extensionNameextensionName %unique_string%%unique_string%

応答Response

成功した場合、このメソッドは 200 OK 応答コードと、更新した openTypeExtension オブジェクトを返します。If successful, this method returns a 200 OK response code and the updated openTypeExtension object.

Example

要求 1Request 1

最初の例では、メッセージ内の拡張情報を更新する方法を示します。この拡張情報は、最初に次の JSON ペイロードで表されます。The first example shows how to update an extension in a message. The extension is initially represented by the following JSON payload:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "@odata.id": "https://graph.microsoft.com/v1.0/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"
}

拡張情報は、その名前で参照できます。You can reference the extension by its name:

PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Com.Contoso.Referral

また、拡張情報は、その完全修飾名でも参照できます。Or you can reference the extension by its fully qualified name:

PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===/extensions/Microsoft.OutlookServices.OpenTypeExtension.Com.Contoso.Referral

要求の例と以下の要求本文を使用して、上記の拡張情報を次のように更新できます。You can use either example request and the following request body to update the above extension by:

  • companyNameWingtip Toys から Wingtip Toys (USA) に変更するChanging companyName from Wingtip Toys to Wingtip Toys (USA)
  • dealValue500050 から 500100 に変更するChanging dealValue from 500050 to 500100
  • 新しいデータをカスタム プロパティ updated として追加するAdding new data as the custom property 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"
} 

応答 1Response 1

ここでは、拡張情報を参照するために使用する方法にかかわらず、同じになる応答を示します。Here is the response which is the same regardless of the way used to reference the extension.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/messages('AAMkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVl===')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "@odata.id": "https://graph.microsoft.com/v1.0/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"
}

要求 2Request 2

2 番目の例では、グループ投稿に含まれる拡張情報を更新する方法を示します。この拡張情報は、次の JSON ペイロード (expirationDate の値が 2015-07-03T13:04:00Z) で最初に表されます。The second example shows how to update an extension in a group post. The extension is initially represented by the following JSON payload, with an expirationDate value of 2015-07-03T13:04:00Z:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$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"
    ]
}

次に、expirationDate2016-07-30T11:00:00Z に変更する要求と要求本文を示します。The following is the request and request body to change the expirationDate to 2016-07-30T11:00:00Z:

PATCH https://graph.microsoft.com/v1.0/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"
    ]
}

応答 2Response 2

ここでは、拡張情報内の更新された expirationDate を表示する 2 番目の例の応答を示します。Here is the response of the second example which shows the updated expirationDate in the extension.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$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"
    ]
}