単一値の拡張プロパティを作成する

名前空間: microsoft.graph

リソースの新規または既存のインスタンスに、1 つ以上の単一値の拡張プロパティを作成します。

次のユーザー リソースがサポートされます。

次のグループ リソース:

オープン拡張機能または拡張プロパティを使用するのに適した状況と、拡張プロパティを指定する方法の詳細については、「拡張プロパティの概要」を参照してください。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

拡張プロパティを作成するリソースと、要求するアクセス許可の種類 (委任またはアプリケーション) に応じて、この API を呼び出すために必要な最小限のアクセス許可を次の表に示します。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

サポートされているリソース 委任 (職場または学校のアカウント) 委任 (個人用 Microsoft アカウント) アプリケーション
calendar Calendars.ReadWrite Calendars.ReadWrite Calendars.ReadWrite
contact Contacts.ReadWrite Contacts.ReadWrite Contacts.ReadWrite
contactFolder Contacts.ReadWrite Contacts.ReadWrite Contacts.ReadWrite
イベント Calendars.ReadWrite Calendars.ReadWrite Calendars.ReadWrite
グループ calendar Group.ReadWrite.All サポート対象外 サポート対象外
グループ event Group.ReadWrite.All サポート対象外 サポート対象外
グループ post Group.ReadWrite.All サポート対象外 サポート対象外
mailFolder Mail.ReadWrite Mail.ReadWrite Mail.ReadWrite
メッセージ Mail.ReadWrite Mail.ReadWrite Mail.ReadWrite

HTTP 要求

新規または既存のリソースのインスタンスに、拡張プロパティを作成できます。

1 つ以上の拡張プロパティを新しいリソースのインスタンスに作成するには、インスタンスの作成と同じ REST 要求を使用し、新しいリソース インスタンスのプロパティと拡張プロパティを要求の本文に含めます。 一部のリソースでは、複数の方法で作成がサポートされています。 これらのリソース インスタンスの作成の詳細については、 メッセージmailFolderイベント予定表連絡先contactFolderグループ イベントおよびグループ投稿を作成するための対応する記事を参照してください。

以下に要求の構文を示します。

POST /me/messages
POST /users/{id|userPrincipalName}/messages
POST /me/mailFolders/{id}/messages

POST /me/mailFolders
POST /users/{id|userPrincipalName}/mailFolders

POST /me/events
POST /users/{id|userPrincipalName}/events

POST /me/calendars
POST /users/{id|userPrincipalName}/calendars

POST /me/contacts
POST /users/{id|userPrincipalName}/contacts

POST /me/contactFolders
POST /users/{id|userPrincipalName}/contactFolders

POST /groups/{id}/events

POST /groups/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/conversations/{id}/threads/{id}/posts/{id}/reply
POST /groups/{id}/threads/{id}/reply
POST /groups/{id}/conversations/{id}/threads/{id}/reply
POST /groups/{id}/threads
POST /groups/{id}/conversations

既存のリソースのインスタンスで 1 つ以上の拡張プロパティを作成するには、要求でインスタンスを指定し、要求本文に拡張プロパティを含めます。

メモ 既存のグループ投稿に拡張プロパティを作成することはできません。

PATCH /me/messages/{id}
PATCH /users/{id|userPrincipalName}/messages/{id}
PATCH /me/mailFolders/{id}/messages/{id}

PATCH /me/mailFolders/{id}
PATCH /users/{id|userPrincipalName}/mailFolders/{id}

PATCH /me/events/{id}
PATCH /users/{id|userPrincipalName}/events/{id}

PATCH /me/calendars/{id}
PATCH /users/{id|userPrincipalName}/calendars/{id}

PATCH /me/contacts/{id}
PATCH /users/{id|userPrincipalName}/contacts/{id}

PATCH /me/contactFolders/{id}
PATCH /users/{id|userPrincipalName}/contactFolders/{id}

PATCH /groups/{id}/events/{id}

要求ヘッダー

名前
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。
Content-Type application/json

要求本文

リソース インスタンスの singleValueExtendedProperties コレクション プロパティに、各 singleValueLegacyExtendedProperty オブジェクトの JSON 本文を指定します。

プロパティ 説明
singleValueExtendedProperties singleValueLegacyExtendedProperty コレクション 1 つ以上の単一値を持つ拡張プロパティの配列。
id 文字列 singleValueExtendedProperties コレクションの各プロパティに対して、これを指定することでプロパティを特定します。 サポートされている形式のいずれかに従う必要があります。 詳しくは、「Outlook の拡張プロパティの概要」を参照してください。 必須。
value string singleValueExtendedProperties コレクションの各プロパティについて、プロパティの値を特定します。 必須です。

新しいリソース インスタンスに拡張プロパティを作成する場合は、新しい singleValueExtendedPropertiesコレクションのほか、そのリソース インスタンスの JSON 表現を指定します (messagemailFolderevent など)。

応答

応答コード

新しいリソース インスタンスに拡張プロパティが正常に作成されると、201 Created が返されます。ただし新しいグループ投稿の場合は別で、使用するメソッドに応じて、200 OK または 202 Accepted が返されます。

既存のリソース インスタンスに拡張プロパティが正常に作成されると、200 OK が返されます。

応答本文

拡張プロパティを作成する場合、応答には新規または既存のインスタンスのみを含めて、新しい拡張プロパティは含めません。 新しく作成された拡張プロパティを表示するには、拡張プロパティを使用して展開されているインスタンスを取得します。

スレッドまたは投稿に返信して 新しいグループ投稿 に拡張プロパティを作成する場合、応答には応答コードのみが含まれますが、新しい投稿や拡張プロパティは含まれません。

例 1: 新しいイベントと単一値の拡張プロパティを作成する

要求

最初の例では、同じ POST 操作で新しいイベントと単一値の拡張プロパティを作成します。 新しいイベントに通常含めるプロパティとは別に、1 つの単一値の拡張プロパティを含む singleValueExtendedProperties コレクションを要求の本文に含め、そのプロパティは次のようにします。

  • id は、プロパティの型を String (GUID) として指定し、Fun という名前のプロパティとして指定します。
  • value は、Food プロパティの値として Fun を指定します。
POST https://graph.microsoft.com/v1.0/me/events
Content-Type: application/json

{
  "subject": "Celebrate Thanksgiving",
  "body": {
    "contentType": "HTML",
    "content": "Let's get together!"
  },
  "start": {
      "dateTime": "2015-11-26T18:00:00",
      "timeZone": "Pacific Standard Time"
  },
  "end": {
      "dateTime": "2015-11-26T23:00:00",
      "timeZone": "Pacific Standard Time"
  },
  "attendees": [
    {
      "emailAddress": {
        "address": "Terrie@contoso.com",
        "name": "Terrie Barrera"
      },
      "type": "Required"
    }
  ],
  "singleValueExtendedProperties": [
     {
           "id":"String {66f5a359-4659-4830-9070-00040ec6ac6e} Name Fun",
           "value":"Food"
     }
  ]
}

応答

HTTP 201 Createdからの応答と同様に、 応答コードによって正常な応答が示され、応答の本文に新しいイベントが含まれます。 応答には、新しく作成された拡張プロパティは含まれません。

新しく作成された拡張プロパティを表示するには、拡張プロパティを使用して展開されているイベントを取得します。

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('c71-86a-a0-92-906ba')/events/$entity",
    "@odata.etag": "W/\"oBeN/g==\"",
    "id": "AAMkADI4Yzc5AABVNeEhAAA=",
    "createdDateTime": "2023-06-26T15:46:00.9307807Z",
    "lastModifiedDateTime": "2023-06-26T15:46:02.0775731Z",
    "changeKey": "oBEEg==",
    "categories": [],
    "transactionId": null,
    "originalStartTimeZone": "Pacific Standard Time",
    "originalEndTimeZone": "Pacific Standard Time",
    "iCalUId": "04049ACBF84A7AC7CB34D",
    "reminderMinutesBeforeStart": 15,
    "isReminderOn": true,
    "hasAttachments": false,
    "subject": "Celebrate Thanksgiving",
    "bodyPreview": "Let's get together!",
    "importance": "normal",
    "sensitivity": "normal",
    "isAllDay": false,
    "isCancelled": false,
    "isOrganizer": true,
    "responseRequested": true,
    "seriesMasterId": null,
    "showAs": "busy",
    "type": "singleInstance",
    "webLink": "https://outlook.office365.com/owa/?itemid=AAMkAA%3D&exvsurl=1&path=/calendar/item",
    "onlineMeetingUrl": null,
    "isOnlineMeeting": false,
    "onlineMeetingProvider": "unknown",
    "allowNewTimeProposals": true,
    "occurrenceId": null,
    "isDraft": false,
    "hideAttendees": false,
    "responseStatus": {
        "response": "organizer",
        "time": "0001-01-01T00:00:00Z"
    },
    "body": {
        "contentType": "html",
        "content": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body>Let's get together!</body></html>"
    },
    "start": {
        "dateTime": "2015-11-26T18:00:00.0000000",
        "timeZone": "Pacific Standard Time"
    },
    "end": {
        "dateTime": "2015-11-26T23:00:00.0000000",
        "timeZone": "Pacific Standard Time"
    },
    "location": {
        "displayName": "",
        "locationType": "default",
        "uniqueIdType": "unknown",
        "address": {},
        "coordinates": {}
    },
    "locations": [],
    "recurrence": null,
    "attendees": [
        {
            "type": "required",
            "status": {
                "response": "none",
                "time": "0001-01-01T00:00:00Z"
            },
            "emailAddress": {
                "name": "Terrie Barrera",
                "address": "Terrie@contoso.com"
            }
        }
    ],
    "organizer": {
        "emailAddress": {
            "name": "MOD Administrator",
            "address": "admin@contoso.com"
        }
    },
    "onlineMeeting": null
}

例 2: メッセージの単一値拡張プロパティを作成する

要求

2 番目の例では、指定した既存のメッセージに 1 つの単一値の拡張プロパティを作成します。 拡張プロパティは、singleValueExtendedProperties 配列内の唯一の要素です。 要求本文には、拡張プロパティに関する次のものが含まれています。

  • id は、プロパティの型を String (GUID) として指定し、Color という名前のプロパティとして指定します。
  • value は、Green プロパティの値として Color を指定します。
PATCH https://graph.microsoft.com/v1.0/me/messages/AAMkAGE1M2_bs88AACHsLqWAAA=
Content-Type: application/json

{
  "singleValueExtendedProperties": [
      {
         "id":"String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
         "value":"Green"
      }
    ]
}

応答

HTTP 200 OKからの応答と同様に、 応答コードによって正常な応答が示され、応答の本文に指定したメッセージが含まれています。 応答には、新しく作成された拡張プロパティは含まれません。

新しく作成された拡張プロパティを表示するには、拡張プロパティを使用して展開されているメッセージを取得します。

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('3cc-ad3-4b9-9a-54')/messages/$entity",
    "@odata.etag": "W/\"CQAAABTiMty\"",
    "id": "AAMkADQzZ1NzItKbS4P8E6VEAAA3LwToAAA=",
    "createdDateTime": "2023-05-12T15:55:56Z",
    "lastModifiedDateTime": "2023-06-23T17:45:43Z",
    "changeKey": "CQAAAAABTiMty",
    "categories": [],
    "receivedDateTime": "2023-05-12T15:55:57Z",
    "sentDateTime": "2023-05-12T15:55:48Z",
    "hasAttachments": false,
    "internetMessageId": "<odspmicro-PlannerDueDate-06c7f00e-6b5f793846-DispatchToRecipients-PreprocessPayload-r0-SendEmail@59C185B>",
    "subject": "You have upcoming tasks due",
    "bodyPreview": "Hi Alex. You have 2 tasks due.        You have upcoming tasksSubmit your expensesIn the plan  Event Plan        5/19/2023Due in 7 daysSubmit your expensesIn the plan  Event Plan        5/19/2023Due in 7 daysView tasks in  Microsoft To ",
    "importance": "normal",
    "parentFolderId": "AQMkc0BAIptLg-wTpUQAAAIBDAAAAA==",
    "conversationId": "AAQkADQzZmJLgzlRSFD0=",
    "conversationIndex": "AQHIUPQ==",
    "isDeliveryReceiptRequested": null,
    "isReadReceiptRequested": false,
    "isRead": false,
    "isDraft": false,
    "webLink": "https://outlook.office365.com/owa/?ItemID=AAP8E6vsurl=1&viewmodel=ReadMessageItem",
    "inferenceClassification": "focused",
    "body": {
        "contentType": "html",
        "content": "<html aria-hidden=\"true\" role=\"presentation\" height=\"1\" width=\"1\"></html>"
    },
    "sender": {
        "emailAddress": {
            "name": "Microsoft on behalf of your organization",
            "address": "noreply@planner.office365.com"
        }
    },
    "from": {
        "emailAddress": {
            "name": "Microsoft on behalf of your organization",
            "address": "noreply@planner.office365.com"
        }
    },
    "toRecipients": [
        {
            "emailAddress": {
                "name": "Alex Wilber",
                "address": "AlexW@contoso.com"
            }
        }
    ],
    "ccRecipients": [],
    "bccRecipients": [],
    "replyTo": [],
    "flag": {
        "flagStatus": "notFlagged"
    }
}