Crear propiedad extendida de valor único

Espacio de nombres: microsoft.graph

Cree una o varias propiedades extendidas de valor único en una instancia nueva o existente de un recurso.

Se admiten los siguientes recursos de usuario:

Los siguientes recursos de grupo:

Consulte el artículo de información general sobre las propiedades extendidas para obtener más información sobre cuándo usar las extensiones abiertas o las propiedades extendidas y cómo especificar las propiedades extendidas.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

Según el recurso en el que va a crear la propiedad extendida y el tipo de permiso (delegado o aplicación) que solicite, el permiso especificado en la tabla siguiente es el mínimo necesario para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.

Recurso admitido Delegado (cuenta profesional o educativa) Delegado (cuenta de Microsoft personal) Aplicación
calendar Calendars.ReadWrite Calendars.ReadWrite Calendars.ReadWrite
contact Contacts.ReadWrite Contacts.ReadWrite Contacts.ReadWrite
contactFolder Contacts.ReadWrite Contacts.ReadWrite Contacts.ReadWrite
evento Calendars.ReadWrite Calendars.ReadWrite Calendars.ReadWrite
calendar de grupo Group.ReadWrite.All No admitido No se admite
evento de grupo Group.ReadWrite.All No admitido No se admite
post de grupo Group.ReadWrite.All No admitido No se admite
mailFolder Mail.ReadWrite Mail.ReadWrite Mail.ReadWrite
mensaje Mail.ReadWrite Mail.ReadWrite Mail.ReadWrite

Solicitud HTTP

Puede crear propiedades extendidas en una instancia de recurso nueva o existente.

Para crear una o varias propiedades extendidas en una instancia de recurso nueva, use la misma solicitud de REST que al crear la instancia e incluya las propiedades de la nueva instancia de recurso y de la propiedad extendida en el cuerpo de la solicitud. Algunos recursos admiten la creación de más de una manera. Para obtener más información sobre cómo crear estas instancias de recursos, consulte los artículos correspondientes para crear un mensaje, mailFolder, evento, calendario, contacto, contactFolder, evento de grupo y publicación de grupo.

A continuación tiene la sintaxis de las solicitudes.

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

Para crear una o varias propiedades extendidas en una instancia de recurso existente, especifique la instancia en la solicitud e incluya la propiedad extendida en el cuerpo de la solicitud.

Nota No se puede crear una propiedad extendida en una publicación de grupo existente.

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}

Encabezados de solicitud

Nombre Valor
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Content-Type application/json

Cuerpo de la solicitud

Proporcione un cuerpo JSON para cada objeto singleValueLegacyExtendedProperty en la propiedad de la colección singleValueExtendedProperties de la instancia de recurso.

Propiedad Tipo Descripción
singleValueExtendedProperties Colección singleValueLegacyExtendedProperty Una matriz de una o varias propiedades extendidas de valor único.
id String Para cada propiedad de la colección singleValueExtendedProperties, especifique esto para identificar la propiedad. Debe tener uno de los formatos compatibles. Consulte la Información general de las propiedades extendidas de Outlook para obtener más información. Necesario.
value string Para cada propiedad de la colección singleValueExtendedProperties, especifique el valor de la propiedad. Obligatorio.

Al crear una propiedad extendida en una instancia de recurso nueva, además de la nueva colección singleValueExtendedProperties, proporcione una representación JSON de esa instancia de recurso (es decir, un message, mailFolder, event, etc.).

Respuesta

Código de respuesta

Una operación que crea correctamente una propiedad extendida en una nueva instancia de recurso devuelve 201 Created, excepto en un mensaje de grupo nuevo, ya que, según el método usado, la operación puede devolver 200 OK o 202 Accepted.

En una instancia de recurso existente, una operación que se ejecuta correctamente devuelve 200 OK.

Cuerpo de la respuesta

Al crear una propiedad extendida, la respuesta incluye solo la instancia nueva o existente, pero no la nueva propiedad extendida. Para ver la propiedad extendida recién creada, expanda la instancia con la propiedad extendida.

Al crear una propiedad extendida en una nuevapublicación de grupo respondiendo a un subproceso o publicación, la respuesta solo incluye un código de respuesta, pero no la nueva publicación ni la propiedad extendida.

Ejemplos

Ejemplo 1: Creación de un evento y una propiedad extendida de un solo valor

Solicitud

El primer ejemplo crea un evento nuevo y una propiedad extendida de valor único en la misma operación POST. Aparte de las propiedades que normalmente incluiría en un nuevo evento, el cuerpo de la solicitud incluye la colección singleValueExtendedProperties que contiene una propiedad extendida de valor único y lo siguiente para la propiedad:

  • id especifica el tipo de propiedad como String, el GUID y la propiedad denominada Fun.
  • value especifica Food como el valor de la propiedad 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"
     }
  ]
}

Respuesta

Una respuesta correcta se indica mediante un HTTP 201 Created código de respuesta e incluye el nuevo evento en el cuerpo de la respuesta, de forma similar a la respuesta de crear solo un evento. La respuesta no incluye ninguna propiedad extendida recién creada.

Para ver la propiedad extendida recién creada, expanda el evento con la propiedad extendida.

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
}

Ejemplo 2: Creación de una propiedad extendida de un solo valor para un mensaje

Solicitud

El segundo ejemplo crea una propiedad extendida de valor único para el mensaje existente especificado. La propiedad extendida es el único elemento de la matriz singleValueExtendedProperties. El cuerpo de la solicitud incluye lo siguiente para la propiedad extendida:

  • id especifica el tipo de propiedad como String, el GUID y la propiedad denominada Color.
  • value especifica Green como el valor de la propiedad 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"
      }
    ]
}

Respuesta

Una respuesta correcta se indica mediante un HTTP 200 OK código de respuesta e incluye el mensaje especificado en el cuerpo de la respuesta, de forma similar a la respuesta de la actualización de un mensaje. La respuesta no incluye la propiedad extendida recién creada.

Para ver la propiedad extendida recién creada, expanda el mensaje con la propiedad extendida.

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"
    }
}