Adicionar anexo

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Use esta API para adicionar um anexo a uma mensagem.

Um anexo pode ser de um dos seguintes tipos:

Todos esses tipos de recursos de anexo são derivados do recurso attachment.

Pode adicionar um anexo a uma mensagem existente ao publicar na respetiva coleção de anexos ou a uma nova mensagem que está a ser redigida ou criada e enviada de imediato.

Nota: esta operação limita o tamanho do anexo que pode adicionar a menos de 3 MB.

No entanto, se estiver a anexar a uma mensagem um ficheiro entre 3 MB e 150 MB, pode criar uma sessão de carregamento e carregar iterativamente intervalos do ficheiro para o anexar. Veja anexar ficheiros grandes a mensagens do Outlook para obter um exemplo.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) Mail.ReadWrite Indisponível.
Delegado (conta pessoal da Microsoft) Mail.ReadWrite Indisponível.
Aplicativo Mail.ReadWrite Indisponível.

Solicitação HTTP

Anexos de uma message em uma caixa de correio de usuário.

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

Anexos de uma message contidos em uma mailFolder de nível superior na caixa de correio de um usuário.

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

Anexos de uma message contidos em uma pasta filha de uma mailFolder na caixa de correio de um usuário. O exemplo a seguir mostra um nível de aninhamento, mas uma mensagem pode estar localizada em um filho de um filho, e assim por diante.

POST /me/mailFolders/{id}/childFolders/{id}/.../messages/{id}/attachments/{id}
POST /users/{id | userPrincipalName}/mailFolders/{id}/childFolders/{id}/messages/{id}/attachments/{id}

Cabeçalhos de solicitação

Nome Tipo Descrição
Autorização string {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type string Natureza dos dados no corpo de uma entidade. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto Attachment.

Resposta

Se for bem-sucedido, este método devolve 201 Created o código de resposta e o objeto Anexo no corpo da resposta.

Exemplo (anexo de arquivo)

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/me/messages/AAMkpsDRVK/attachments
Content-type: application/json

{
  "@odata.type": "#microsoft.graph.fileAttachment",
  "name": "smile",
  "contentBytes": "a0b1c76de9f7="
}

No corpo da solicitação, forneça uma representação JSON do objeto attachment.

Resposta

O exemplo a seguir mostra a resposta.

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

{
    "id": "AAMkADNkN2R",
    "lastModifiedDateTime": "2017-01-26T08:48:28Z",
    "name": "smile",
    "contentType": "image/gif",
    "size": 1008,
    "isInline": false,
    "contentId": null,
    "contentLocation": null,
    "contentBytes": "a0b1c76de9f7="
}

Exemplo (anexo de item)

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/me/messages/AAMkpsDRVK/attachments
Content-type: application/json

{
  "@odata.type": "#microsoft.graph.itemAttachment",
  "name": "Holiday event",
  "item": {
    "@odata.type": "microsoft.graph.event",
    "subject": "Discuss gifts for children",
    "body": {
      "contentType": "HTML",
      "content": "Let's look for funding!"
    },
    "start": {
      "dateTime": "2016-12-02T18:00:00",
      "timeZone": "Pacific Standard Time"
    },
    "end": {
      "dateTime": "2016-12-02T19:00:00",
      "timeZone": "Pacific Standard Time"
    }
  }
}

Resposta

O exemplo a seguir mostra a resposta. Observação: O objeto de resposta exibido aqui pode ser encurtado para legibilidade.

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

{
  "id":"AAMkADNkNJp5JVnQIe9r0=",
  "lastModifiedDateTime":"2016-12-01T22:27:13Z",
  "name":"Holiday event",
  "contentType":null,
  "size":2473,
  "isInline":false
}

Exemplo (anexo de referência)

Solicitação

O exemplo seguinte mostra um pedido que adiciona um anexo de referência a uma mensagem existente. O anexo aponta para uma pasta no OneDrive.

POST https://graph.microsoft.com/beta/me/messages/AAMkAGE1M88AADUv0uFAAA=/attachments
Content-type: application/json

{
    "@odata.type": "#microsoft.graph.referenceAttachment",
    "name": "Personal pictures",
    "sourceUrl": "https://contoso.com/personal/mario_contoso_net/Documents/Pics",
    "providerType": "oneDriveConsumer",
    "permission": "Edit",
    "isFolder": "True"
}
Resposta

Eis um exemplo de uma resposta completa.

HTTP 201 Created

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/ddfcd489-628b-40d7-b48b-57002df800e5/messages/AAMkAGE1M88AADUv0uFAAA%3D/attachments/$entity",
  "@odata.type": "#microsoft.graph.referenceAttachment",
  "id": "AAMkAGE1Mg72tgf7hJp0PICVGCc0g=",
  "lastModifiedDateTime": "2016-03-12T06:04:38Z",
  "name": "Personal pictures",
  "contentType": null,
  "size": 382,
  "isInline": false,
  "sourceUrl": "https://contoso.com/personal/mario_contoso_net/Documents/Pics",
  "providerType": "oneDriveConsumer",
  "thumbnailUrl": null,
  "previewUrl": null,
  "permission": "edit",
  "isFolder": true
}