Référence des API REST Tâches Outlook (version 2.0)

S’applique à : Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

L’API REST pour les Tâches Outlook vous permet de créer, lire, synchroniser, mettre à jour et supprimer les tâches d'un utilisateur sécurisées par Azure Active Directory dans Office 365. Le compte utilisateur peut être un compte Office 365 ou un compte Microsoft (Hotmail.com, Live.com, MSN.com, Outlook.com et Passport.com).

Notes

Afin de simplifier les explications, le reste de l’article utilise Outlook.com pour inclure ces domaines de comptes Microsoft.

La version 2.0 de l’API ne vous intéresse pas ? Dans la table des matières sur la gauche, accédez à la section Référence API REST Office 365 et sélectionnez la version souhaitée.

Vue d'ensemble

Vous pouvez utiliser une tâche dans Outlook pour suivre un élément de travail. Vous pouvez noter ses dates de début, d’échéance ou d’achèvement réel, sa progression ou son statut, ou si elle est récurrente ou nécessite un rappel.

Les tâches sont organisées en dossiers de tâches qui sont à leur tour organisés en groupes de tâches. Chaque boîte aux lettres a un dossier de tâches par défaut (avec la propriété Nom Tasks) et un groupe de tâches par défaut (la propriété Nom est My Tasks).

Utilisation de l’API REST Tâches

Authentification

Comme les autres API REST Outlook, pour chaque requête envoyée à l’API de tâches, vous devez inclure un jeton d’accès valide. Pour obtenir un jeton d’accès, vous devez avoir enregistré et identifié votre application et obtenu l’autorisation appropriée.

Vous pouvez en apprendre plus sur certaines options d’inscription et d’autorisation simplifiées pour vous. Gardez cet élément à l’esprit lorsque vous effectuez les opérations spécifiques à l’API REST de tâches.

Version de l’API

Cette API a été promue de la préversion au statut de disponibilité générale (GA). Elle est prise en charge dans les versions v2.0 et bêta de l’API REST d’Outlook.

Utilisateur cible

Les requêtes à l’API de tâche sont toujours exécutées au nom de l’utilisateur connecté.

Voir Utiliser l’API REST Outlook pour plus d’informations communes à tous les sous-ensembles de l’API REST Outlook.

Paramètres de l'URL

Les exemples de cet article utilisent les valeurs par défaut suivantes dans les paramètres des URL de requête REST.

Paramètre Type Description
Paramètres de l'URL
attachment_id chaîne L’ID numérique d’une pièce jointe, unique dans la boîte aux lettres de l’utilisateur.
folder_id chaîne Le nom de dossier connu Tasks, ou l’ID numérique d’un dossier de tâches, unique dans la boîte aux lettres de l’utilisateur.
group_id chaîne L’ID numérique d’un groupe de tâches, unique dans la boîte aux lettres de l’utilisateur.
task_id chaîne L’ID de tâche numérique, unique dans la boîte aux lettres de l’utilisateur.

Spécifier les propriétés StartDateTime et DueDateTime

Lors de la création d’une tâche :

  • StartDateTime et DueDateTime sont facultatifs, mais paramétrer StartDateTime nécessite de paramétrer DueDateTime à la même date ou à une date ultérieure.
  • Si vous ne paramétrez que StartDateTime, DueDateTime sera automatiquement réglé à la même valeur que StartDateTime.
  • Si vous paramétrez DueDateTime à null, alors StartDateTime sera également réglé automatiquement sur null.

Si vous choisissez de paramétrer StartDateTime ou DueDateTime lors de la création ou de la mise à jour d’une tâche :

  • Spécifiez les informations de date et de fuseau horaire.
  • Ne spécifiez pas d’heure spécifique dans ces propriétés, car la méthode POST (ou PATCH) l’ignore toujours et suppose minuit dans le fuseau horaire spécifié.
  • Par défaut, la méthode POST (ou PATCH) convertit la valeur en UTC et la renvoie en UTC dans la réponse.

Par exemple, si vous spécifiez le 26 avril en heure de New York (EST) dans StartDateTime :

  "StartDateTime": {
      "DateTime": "2016-04-26T09:00:00",
      "TimeZone": "Eastern Standard Time"
  }

POST (ou PATCH) ignore la partie heure, convertit le 26 avril minuit de EST à UTC et renvoie cette valeur en UTC dans la réponse :

  "StartDateTime": {
    "DateTime": "2016-04-26T04:00:00.0000000",
    "TimeZone": "UTC"
  }

Vous pouvez utiliser l’en-tête Prefer: outlook.timezone pour que toutes les propriétés liées à la date soient représentées dans la réponse dans un fuseau horaire différent de l’UTC.

Les propriétés liées à la date dans la ressource Tâche comprennent les éléments suivants :

  • CompletedDateTime
  • CreatedDateTime
  • DueDateTime
  • LastModifiedDateTime
  • ReminderDateTime
  • StartDateTime

Par défaut, les opérations POST, GET, PATCH et Complete renvoient les propriétés liées à la date dans leurs réponses REST en UTC. Vous pouvez utiliser l’en-tête Prefer: outlook.timezone pour que toutes les propriétés liées à la date soient représentées dans un fuseau horaire différent de l’UTC dans la réponse. L’exemple suivant renvoie les propriétés liées à la date en EST dans la réponse correspondante :

Prefer: outlook.timezone="Eastern Standard Time"

Voir Utiliser l’API REST Outlook pour plus d’informations communes à tous les sous-ensembles de l’API REST Outlook.

Créer des tâches

Étendue minimale requise

Créer une tâche. Il existe 2 scénarios principaux.

Vous pouvez créer une tâche dans le groupe de tâches par défaut (My Tasks) et le dossier de tâches par défaut (Tasks) de la boîte aux lettres de l’utilisateur. Dans ce cas, vous n’avez pas besoin de spécifier un groupe de tâches ou un dossier de tâches.

POST https://outlook.office.com/api/v2.0/me/tasks

Vous pouvez également créer une tâche dans un dossier de tâches spécifique :

POST https://outlook.office.com/api/v2.0/me/taskfolders('{folder_id}')/tasks

Dans le corps de la requête, fournissez une représentation JSON de la tâche à créer.

Voir plus d’informations à propos du paramétrage de StartDateTime et DueDateTime.

Découvrez comment spécifier un certain fuseau horaire pour toutes les propriétés liées à la date dans la réponse.

Réponse

Code de statut de succès : 201 Créé

Corps de la réponse : la tâche créée.

Exemple de demande

Le premier exemple crée une tâche dans le dossier de tâches spécifié et exprime StartDateTime et DueDateTime en heure standard du Pacifique (PST) dans le corps de la requête.

POST https://outlook.office.com/api/v2.0/me/taskfolders('AAMkADIyAAAhrbPXAAA=')/tasks
Content-Type: application/json

{
  "Subject": "Shop for dinner",
  "StartDateTime": {
      "DateTime": "2016-04-23T18:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "DueDateTime":  {
      "DateTime": "2016-04-25T13:00:00",
      "TimeZone": "Pacific Standard Time"
  }
}

Exemple de réponse

La méthode POST ignore la partie heure dans le corps de la requête et suppose que l’heure est toujours être minuit dans le fuseau horaire spécifié (PST). Ensuite, par défaut, la méthode POST convertit et affiche toutes les propriétés liées à la date en UTC dans la réponse.

Status code: 201 Created

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskFolders('AAMkADIyAAAhrbPXAAA%3D')/Tasks/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Tasks('AAMkADIyAAAhrb_PAAA=')",
  "@odata.etag": "W/\"hmM7Eb/jgEec8l3+gkJEawAAIbAOlw==\"",
  "Id": "AAMkADIyAAAhrb_PAAA=",
  "CreatedDateTime": "2016-04-22T05:44:01.2012012Z",
  "LastModifiedDateTime": "2016-04-22T05:44:02.9980882Z",
  "ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIOJMxw==",
  "Categories": [ ],
  "AssignedTo": null,
  "Body": {
    "ContentType": "Text",
    "Content": ""
  },
  "CompletedDateTime": null,
  "DueDateTime": {
    "DateTime": "2016-04-25T07:00:00.0000000",
    "TimeZone": "UTC"
  },
  "HasAttachments":false,
  "Importance": "Normal",
  "IsReminderOn": false,
  "Owner": "Administrator",
  "ParentFolderId": "AQMkADA1MTkAAAAIBEgAAAA==",
  "Recurrence": null,
  "ReminderDateTime": null,
  "Sensitivity": "Normal",
  "StartDateTime": {
    "DateTime": "2016-04-23T07:00:00.0000000",
    "TimeZone": "UTC"
  },
  "Status": "NotStarted",
  "Subject": "Shop for dinner"
}

Exemple de demande

Pour montrer comment l’en-tête Prefer: outlook.timezone fonctionne, l’exemple suivant crée une tâche, exprime StartDateTime et DueDateTime en heure normale de l’Est (EST), et inclut un en-tête Prefer en heure standard du Pacifique (PST).

POST https://outlook.office.com/api/v2.0/me/tasks HTTP/1.1

Content-Type: application/json
Prefer: outlook.timezone="Pacific Standard Time"

{
  "Subject": "Shop for children's weekend",
  "StartDateTime": {
      "DateTime": "2016-05-03T09:00:00",
      "TimeZone": "Eastern Standard Time"
  },
  "DueDateTime":  {
      "DateTime": "2016-05-05T16:00:00",
      "TimeZone": "Eastern Standard Time"
  }
}

Exemple de réponse

Tout comme dans le dernier exemple, la méthode POST ignore la partie temporelle de StartDateTime et DueDateTime dans le corps de la requête et suppose que l’heure est toujours minuit dans le fuseau horaire spécifié (EST).

Étant donné que l’en-tête Prefer spécifie PST, la méthode POST exprime toutes les propriétés liées à la date dans la réponse en PST. Pour les propriétés StartDateTime et DueDateTime en particulier, la méthode POST convertit minuit de EST en PST et les renvoie en PST dans la réponse.

Status code: 201 Created

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Tasks('AAMkADA1MHgwAAA=')",
    "@odata.etag": "W/\"1/KC9Vmu40G3DwB6Lgs7MAAAIW9XXA==\"",
    "Id": "AAMkADA1MHgwAAA=",
    "CreatedDateTime": "2016-04-22T15:19:18.9526004-07:00",
    "LastModifiedDateTime": "2016-04-22T15:19:19.015101-07:00",
    "ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIW9XXA==",
    "Categories": [
    ],
    "AssignedTo": null,
    "Body": {
        "ContentType": "Text",
        "Content": ""
    },
    "CompletedDateTime": null,
    "DueDateTime": {
        "DateTime": "2016-05-04T21:00:00.0000000",
        "TimeZone": "Pacific Standard Time"
    },
    "HasAttachments":false,
    "Importance": "Normal",
    "IsReminderOn": false,
    "Owner": "Administrator",
    "ParentFolderId": "AQMkADA1MTEgAAAA==",
    "Recurrence": null,
    "ReminderDateTime": null,
    "Sensitivity": "Normal",
    "StartDateTime": {
        "DateTime": "2016-05-02T21:00:00.0000000",
        "TimeZone": "Pacific Standard Time"
    },
    "Status": "NotStarted",
    "Subject": "Shop for children's weekend"
}

Get tasks

Obtenir toutes les tâches

Étendue minimale requise

Obtenir plusieurs tâches.

Vous pouvez Obtenir toutes les tâches dans la boîte aux lettres de l’utilisateur connecté.

GET https://outlook.office.com/api/v2.0/me/tasks

Ou vous pouvez Obtenir toutes les tâches dans un dossier spécifique :

GET https://outlook.office.com/api/v2.0/me/taskfolders('{folder_id}')/tasks

S’il y a plus d’un groupe de tâches et que vous voulez obtenir toutes les tâches dans un groupe de tâches spécifique, obtenez d’abord tous les dossiers de tâches dans ce groupe de tâches, puis obtenez les tâches dans chacun de ces dossiers de tâches.

Réponse

Code d'état de succès : 200 OK

Corps de la réponse : Une collection de tâches

Par défaut, les propriétés liées à la date dans la réponse sont exprimées en UTC. Découvrez comment spécifier un certain fuseau horaire pour toutes les propriétés liées à la date dans la réponse.

Exemple de demande

L’exemple suivant obtient toutes les tâches dans la boîte aux lettres de l’utilisateur.

GET https://outlook.office.com/api/v2.0/me/tasks

Exemple de réponse

Status code: 200 OK

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks",
  "value": [
    {
      "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Tasks('AAMkADA1MTrfAAA=')",
      "@odata.etag": "W/\"1/KC9Vmu40G3DwB6Lgs7MAAAIOJMxw==\"",
      "Id": "AAMkADA1MTrfAAA=",
      "CreatedDateTime": "2016-04-22T05:44:01.2012012Z",
      "LastModifiedDateTime": "2016-04-22T05:44:02.9980882Z",
      "ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIOJMxw==",
      "Categories": [ ],
      "AssignedTo": null,
      "Body": {
        "ContentType": "Text",
        "Content": ""
      },
      "CompletedDateTime": null,
      "DueDateTime": {
        "DateTime": "2016-04-25T07:00:00.0000000",
        "TimeZone": "UTC"
      },
      "HasAttachments":false,
      "Importance": "Normal",
      "IsReminderOn": false,
      "Owner": "Administrator",
      "ParentFolderId": "AQMkADA1MTBEgAAAA==",
      "Recurrence": null,
      "ReminderDateTime": null,
      "Sensitivity": "Normal",
      "StartDateTime": {
        "DateTime": "2016-04-23T07:00:00.0000000",
        "TimeZone": "UTC"
      },
      "Status": "NotStarted",
      "Subject": "Shop for dinner"
    },
    {
      "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Tasks('AAMkADA1MTrgAAA=')",
      "@odata.etag": "W/\"1/KC9Vmu40G3DwB6Lgs7MAAAIOJMyQ==\"",
      "Id": "AAMkADA1MTrgAAA=",
      "CreatedDateTime": "2016-04-22T06:03:35.9279794Z",
      "LastModifiedDateTime": "2016-04-22T06:03:35.9436052Z",
      "ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIOJMyQ==",
      "Categories": [ ],
      "AssignedTo": null,
      "Body": {
        "ContentType": "Text",
        "Content": ""
      },
      "CompletedDateTime": null,
      "DueDateTime": {
        "DateTime": "2016-04-27T04:00:00.0000000",
        "TimeZone": "UTC"
      },
      "HasAttachments":false,
      "Importance": "Normal",
      "IsReminderOn": false,
      "Owner": "Administrator",
      "ParentFolderId": "AQMkADA1MTBEgAAAA==",
      "Recurrence": null,
      "ReminderDateTime": null,
      "Sensitivity": "Normal",
      "StartDateTime": {
        "DateTime": "2016-04-26T04:00:00.0000000",
        "TimeZone": "UTC"
      },
      "Status": "NotStarted",
      "Subject": "Shop for dinner"
    }
  ]
}

Obtenir une tâche

Étendue minimale requise

Obtenir une tâche spécifique.

GET https://outlook.office.com/api/v2.0/me/tasks('{task_id}')

Réponse

Code d'état de succès : 200 OK

Corps de réponse : la tâche demandée.

Par défaut, les propriétés liées à la date dans la réponse sont exprimées en UTC. Découvrez comment spécifier un certain fuseau horaire pour toutes les propriétés liées à la date dans la réponse.

Exemple de demande

GET https://outlook.office.com/api/v2.0/me/tasks('AAMkADA1MTrgAAA=') 

Exemple de réponse

Status code: 200 OK

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Tasks('AAMkADA1MTrgAAA=')",
  "@odata.etag": "W/\"hmM7Eb/jgEec8l3+gkJEawAAIa/+kw==\"",
  "Id": "AAMkADA1MTrgAAA=",
  "CreatedDateTime": "2016-04-22T06:03:35.9279794Z",
  "LastModifiedDateTime": "2016-04-22T06:03:35.9436052Z",
  "ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIOJMyQ==",
  "Categories": [ ],
  "AssignedTo": null,
  "Body": {
    "ContentType": "Text",
    "Content": ""
  },
  "CompletedDateTime": null,
  "DueDateTime": {
    "DateTime": "2016-04-27T04:00:00.0000000",
    "TimeZone": "UTC"
  },
  "HasAttachments":false,
  "Importance": "Normal",
  "IsReminderOn": false,
  "Owner": "Administrator",
  "ParentFolderId": "AQMkADA1MTBEgAAAA==",
  "Recurrence": null,
  "ReminderDateTime": null,
  "Sensitivity": "Normal",
  "StartDateTime": {
    "DateTime": "2016-04-26T04:00:00.0000000",
    "TimeZone": "UTC"
  },
  "Status": "NotStarted",
  "Subject": "Shop for dinner"
}

Update tasks

Étendue minimale requise

Changer les propriétés modifiables d’une tâche.

PATCH https://outlook.office.com/api/v2.0/me/tasks/{task_id}

Dans le corps de la requête, fournissez une représentation JSON des propriétés modifiables à mettre à jour dans la tâche.

Voir plus d’informations à propos du paramétrage de StartDateTime et DueDateTime.

La propriété CompletedDateTime peut être définie par l’action Complete, ou explicitement par une opération PATCH. Si vous utilisez PATCH pour définir CompletedDateTime, assurez-vous de définir Statut à Completed également.

Par défaut, les propriétés liées à la date dans la réponse sont exprimées en UTC. Découvrez comment spécifier un certain fuseau horaire pour toutes les propriétés liées à la date dans la réponse.

Réponse

Code d'état de succès : 200 OK

Corps de la réponse : la tâche mise à jour.

Exemple de demande

L'exemple suivant modifie DueDateTime et utilise l’en-tête Prefer: outlook.timezone pour spécifier les propriétés liées à la date à exprimer en Heure normale de l’Est (EST) dans la réponse.

PATCH https://outlook.office.com/api/v2.0/me/tasks('AAMkADA1MTHgwAAA=')

Prefer: outlook.timezone="Eastern Standard Time"
Content-Type: application/json

{
  "DueDateTime":  {
      "DateTime": "2016-05-06T16:00:00",
      "TimeZone": "Eastern Standard Time"
  }
}

Exemple de réponse

Status code: 200 OK

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Tasks('AAMkADA1MTHgwAAA=')",
  "@odata.etag": "W/\"hmM7Eb/jgEec8l3+gkJEawAAIa/+lg==\"",
  "Id": "AAMkADA1MTHgwAAA=",
    "CreatedDateTime": "2016-04-22T18:19:18.9526004-04:00",
    "LastModifiedDateTime": "2016-04-22T18:38:20.5541528-04:00",
    "ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIW9XXg==",
    "Categories": [
    ],
    "AssignedTo": null,
    "Body": {
        "ContentType": "Text",
        "Content": ""
    },
    "CompletedDateTime": null,
    "DueDateTime": {
        "DateTime": "2016-05-06T00:00:00.0000000",
        "TimeZone": "Eastern Standard Time"
    },
    "HasAttachments":false,
    "Importance": "Normal",
    "IsReminderOn": false,
    "Owner": "Administrator",
    "ParentFolderId": "AQMkADA1MTIBEgAAAA==",
    "Recurrence": null,
    "ReminderDateTime": null,
    "Sensitivity": "Normal",
    "StartDateTime": {
        "DateTime": "2016-05-03T00:00:00.0000000",
        "TimeZone": "Eastern Standard Time"
    },
    "Status": "NotStarted",
    "Subject": "Shop for children's weekend"
}

Delete tasks

Étendue minimale requise

Supprimer la tâche spécifiée dans la boîte aux lettres de l’utilisateur.

DELETE https://outlook.office.com/api/v2.0/me/tasks('{task_id}')

Réponse

Code d'état de succès : 204 Pas de contenu

Corps de la réponse : Aucun

Exemple de demande

DELETE https://outlook.office365.com/api/v2.0/me/tasks('AAMkADIyAAAhrb_QAAA=')

Exemple de réponse

Status code: 204 No Content

Complete tasks

Étendue minimale requise

Terminez une tâche et paramétrez la propriété CompletedDateTime à la date actuelle, et la propriété Statut à Completed.

POST https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/complete

Notes

CompletedDateTime représente la date à laquelle la tâche est terminée. La partie temporelle de CompletedDateTime est définie par défaut à minuit UTC.

Une application peut spécifier un fuseau horaire personnalisé dans un en-tête de requête Prefer. Ce qui suit est un exemple pour définir CompletedDateTime dans le fuseau horaire Heure standard du Pacifique (PST) :

Prefer: outlook.timezone="Pacific Standard Time"

Cet en-tête de requête définit toutes les propriétés liées à la date dans la réponse au fuseau horaire spécifié.

Réponse

Code d'état de succès : 200 OK

Corps de la réponse : la tâche complétée dans une collection de tâches. Si vous complétez une tâche dans une série récurrente, la collection de tâches contiendra la tâche terminée dans la série et la tâche suivante de cette série.

Exemple de demande

L'exemple suivant marque la tâche spécifiée comme terminée. Puisque l’heure standard du Pacifique (PST) est spécifiée dans l’en-tête Prefer: outlook.timezone, CompletedDateTime et les autres propriétés liées à la date dans la réponse sont exprimées en PST.

POST https://outlook.office.com/api/v2.0/me/tasks('AAMkADA1MT15rfAAA=')/complete

Prefer: outlook.timezone="Pacific Standard Time"

Exemple de réponse

Status code: 200 OK

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks",
  "value": [
    {
      "@odata.id": "https://outlook.office365.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Tasks('AAMkADA1MT15rfAAA=')",
      "@odata.etag": "W/\"hmM7Eb/jgEec8l3+gkJEawAAIa/+lw==\"",
      "Id": "AAMkADA1MT15rfAAA=",
      "CreatedDateTime": "2016-04-21T22:44:01.2012012-07:00",
      "LastModifiedDateTime": "2016-04-22T19:28:38.5300447-07:00",
      "ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIW9XYQ==",
      "Categories": [
      ],
      "AssignedTo": null,
      "Body": {
          "ContentType": "Text",
          "Content": ""
      },
      "CompletedDateTime": {
          "DateTime": "2016-04-22T00:00:00.0000000",
          "TimeZone": "Pacific Standard Time"
      },
      "DueDateTime": {
          "DateTime": "2016-04-25T00:00:00.0000000",
          "TimeZone": "Pacific Standard Time"
      },
      "HasAttachments":false,
      "Importance": "Normal",
      "IsReminderOn": false,
      "Owner": "Administrator",
      "ParentFolderId": "AQMkADA1MTIBEgAAAA==",
      "Recurrence": null,
      "ReminderDateTime": null,
      "Sensitivity": "Normal",
      "StartDateTime": {
          "DateTime": "2016-04-21T00:00:00.0000000",
          "TimeZone": "Pacific Standard Time"
      },
      "Status": "Completed",
      "Subject": "Shop for dinner"
    }
  ]
}

Synchroniser des tâches ou des dossiers de tâches

Étendue minimale requise

Vous pouvez synchroniser des tâches dans un dossier de tâches, ou des dossiers de tâches dans la boîte aux lettres d’un utilisateur. La synchronisation des tâches est une opération par dossier. Par exemple, vous pouvez synchroniser toutes les tâches dans votre dossier de tâches par défaut Tasks. Pour synchroniser les tâches dans une hiérarchie de dossiers, vous devez synchroniser chaque dossier de tâches individuellement. Les processus de synchronisation des tâches ou des dossiers de tâches sont similaires, ce qui nécessite généralement une série de deux ou plusieurs demandes de synchronisation, chacune étant un appel GET.

Utilisez la méthode GET de la même manière que lorsque vous obtenez les tâches dans un dossier, ou que vous obtenez des dossiers de tâches dans une boîte aux lettres. Vous devrez par contre inclure certains en-têtes de requête, ainsi que deltaToken ou un skipToken le cas échéant.

En-têtes de demande

  • Vous devez spécifier l’en-tête Prefer: odata.track-changes dans toutes les requêtes de synchronisation, sauf celles qui incluent un skipToken qui est renvoyé par une requête de synchronisation antérieure. Dans la première réponse, cherchez l’en-tête Preference-Applied: odata.track-changes pour confirmer que la ressource prend en charge la synchronisation avant de continuer. (Vous trouverez plus d’informations sur un skipToken dans échantillon de données de deuxième réponse pour les tâches si vous synchronisez des tâches, ou échantillon de données de deuxième réponse pour les dossiers de tâches, si vous synchronisez des dossiers de tâches.)
  • Vous pouvez spécifier l’en-tête Prefer: odata.maxpagesize={x} pour indiquer le nombre maximal de tâches (ou de dossiers de tâches, en fonction de ce que vous synchronisez) que chaque requête de synchronisation renvoie.

Voici une séquence typique de synchronisation :

  1. Faire la requête GET initiale avec l’en-tête Prefer: odata.track-changes obligatoire. La réponse initiale à une requête de synchronisation renvoie toujours un deltaToken. (Les requêtes GET suivantes diffèrent de la première requête GET car elles incluent soit un deltaToken soit un skipToken reçu dans une réponse antérieure.)

  2. Si la première réponse renvoie l’en-tête Preference-Applied: odata.track-changes, vous pouvez poursuivre la synchronisation de la ressource.

    • Effectuer une seconde requête GET. Spécifier l’en-tête Prefer: odata.track-changes et le deltaToken renvoyé depuis le premier GET pour déterminer s’il existe des instances supplémentaires de la ressource à synchroniser. La seconde requête renverra des instances supplémentaires, et soit un skipToken s'il y a plus d’instances disponibles, soit deltaToken si la dernière instance a été synchronisée, auquel cas vous pouvez arrêter.

    • Poursuivre la synchronisation en envoyant un appel GET et en incluant un skipToken renvoyé par un appel précédent. Arrêtez lorsque vous obtenez une dernière réponse contenant de nouveau un en-tête @odata.deltaLink avec un deltaToken, ce qui indique que la synchronisation est terminée.

Examinez la syntaxe pour les appels successifs dans une séquence de synchronisation.

Synchroniser les tâches dans un dossier de tâches

Requête initiale :

GET https://outlook.office.com/api/v2.0/me/TaskFolders('{folder_id}')/Tasks

Deuxième requête, ou première requête d’une séquence suivante :

GET https://outlook.office.com/api/v2.0/me/TaskFolders('{folder_id}')/Tasks/?$deltatoken={delta_token}

Troisième requête ou requête suivante dans une même séquence ; arrêtez quand vous obtenez à nouveau une réponse qui contient un en-tête @odata.deltaLink avec un deltaToken :

GET https://outlook.office.com/api/v2.0/me/TaskFolders('{folder_id}')/Tasks/?$skiptoken={skip_token}

Synchroniser les dossiers de tâches dans une boîte aux lettres

Requête initiale :

GET https://outlook.office.com/api/v2.0/me/TaskFolders

Deuxième requête, ou première requête d’une séquence suivante :

GET https://outlook.office.com/api/v2.0/me/TaskFolders/?$deltatoken={delta_token}

Troisième requête ou requête suivante dans une même séquence ; arrêtez quand vous obtenez à nouveau une réponse qui contient un en-tête @odata.deltaLink avec un deltaToken :

GET https://outlook.office.com/api/v2.0/me/TaskFolders/?$skiptoken={skip_token}

Paramètres

Paramètre Type Description
Paramètres d’en-tête
Prefer odata.track-changes Indique que la requête est une requête de synchronisation. Obligatoire pour les deux premières requêtes GET d’une séquence.
Prefer odata.maxpagesize Définit le nombre de messages à renvoyer dans chaque réponse. Facultatif.
Paramètres de l'URL
deltaToken chaîne La chaîne deltaToken renvoyée dans le cadre de la valeur de @odata.deltaLink dans la réponse de synchronisation précédente.
skipToken chaîne La chaîne skipToken renvoyée dans le cadre de la valeur de @odata.nextLink dans la réponse de synchronisation précédente.

Notes

  • Lors de la spécification de Prefer: odata.track-changes dans la requête initiale, si la réponse prend en charge la synchronisation, la réponse inclura Preference-applied: odata.track-changes dans l’en-tête.
  • Si vous tentez de synchroniser une ressource non prise en charge ou si ce n’est pas la requête de synchronisation initiale, vous ne verrez pas l’en-tête Preference-applied dans la réponse.
  • Pour obtenir un meilleur temps de réponse, utilisez le paramètre de requête $select pour n’obtenir que les propriétés utiles à votre scénario.
  • Vous ne pouvez pas utiliser les paramètres de requête $filter, $orderby, $search et $top.

Corps de la réponse

  • Si vous synchronisez des tâches : les objets Tâche demandés dans une collection.

  • Si vous synchronisez des dossiers de tâches : les objets TaskFolder dans une collection.

Le nombre d’objets dépend de la valeur définie dans l’en-tête de requête Prefer: odata.maxpagesize.

Exemple

Voici deux ensembles d’exemples :

Chaque exemple montre les premières et les secondes requêtes de synchronisation.

  • Chaque requête spécifie Prefer: odata.maxpagesize=1 pour renvoyer un seul objet (tâche ou dossier de tâche, respectivement) à la fois.
  • La réponse initiale renvoie un objet synchronisé, un deltaLink et un deltaToken.
  • La seconde requête utilise ce deltatoken. La seconde réponse renvoie un objet synchronisé, un nextLink et un skipToken.

Parcourez le processus de synchronisation et utilisez dans l’appel GET suivant le skipToken renvoyé dans la demande de synchronisation précédente jusqu’à ce que vous obteniez une réponse de synchronisation contenant un deltaLink et un deltaToken comme ci-dessous :

"@odata.deltaLink": “https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMw80AAAIBEgAAAA==')/Tasks/?%24deltaToken=294a8f04cc0345c5ae093d484629e186”

Lorsque cela se produit, cette séquence de synchronisation est terminée. Enregistrez le deltaToken pour la prochaine séquence de synchronisation.

Exemple de requête initiale (synchroniser les tâches)

    GET https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMwAAAIBEgAAAA==')/Tasks HTTP/1.1
    Prefer: odata.maxpagesize=1
  Prefer: odata.track-changes

Exemple de données de réponse initiale (synchroniser les tâches)

HTTP/1.1 200 OK
Preference-Applied: odata.track-changes

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders('AQMkAGMwAAAIBEgAAAA%3D%3D')/Tasks",
  "value": [
    {
      "@odata.id": "https://outlook.office.com/api/v2.0/Users('47ec4680-f443-4f9c-a3e5-f7660f0aceae@b4ffe6c0-e717-4104-acd1-e9dfe38ff5f9')/Tasks('AAMkAGMwQsKVevNAAAG1VNmAAA=')",
      "@odata.etag": "W/\"3JfzyLwJe0mPNcULClXrzQAABtYBDw==\"",
      "Id": "AAMkAGMwQsKVevNAAAG1VNmAAA=",
      "CreatedDateTime": "2016-02-29T20:51:25.2226052Z",
      "LastModifiedDateTime": "2016-02-29T20:51:25.2538576Z",
      "ChangeKey": "3JfzyLwJe0mPNcULClXrzQAABtYBDw==",
      "Categories": [ ],
      "AssignedTo": null,
      "Body": {
        "ContentType": "Text",
        "Content": ""
      },
      "CompletedDateTime": null,
      "DueDateTime": null,
      "HasAttachments":false,
      "Importance": "Normal",
      "IsReminderOn": false,
      "Owner": "Administrator",
      "ParentFolderId": "AQMkAGMwAAAIBEgAAAA==",
      "Recurrence": null,
      "ReminderDateTime": null,
      "Sensitivity": "Normal",
      "StartDateTime": null,
      "Status": "NotStarted",
      "Subject": "another task"
    }
  ],
  "@odata.deltaLink": "https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMwAAAIBEgAAAA==')/Tasks/?%24deltatoken=175e2e04482e431ea96e89145c212f8c"
}

Exemple de seconde requête (synchroniser les tâches)

    GET https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMwAAAIBEgAAAA==')/Tasks/?%24deltatoken=175e2e04482e431ea96e89145c212f8c HTTP/1.1
    Prefer: odata.maxpagesize=1
  Prefer: odata.track-changes

Exemple de données de seconde réponse (synchroniser les tâches)

HTTP/1.1 200 OK

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders('AQMkAGMwAAAIBEgAAAA%3D%3D')/Tasks/$delta",
  "value": [
    {
      "@odata.id": "https://outlook.office.com/api/v2.0/Users('47ec4680-f443-4f9c-a3e5-f7660f0aceae@b4ffe6c0-e717-4104-acd1-e9dfe38ff5f9')/Tasks('AAMkAGMwQsKVevNAAAG1VNlAAA=')",
      "@odata.etag": "W/\"3JfzyLwJe0mPNcULClXrzQAABtYBDQ==\"",
      "Id": "AAMkAGMwQsKVevNAAAG1VNlAAA=",
      "CreatedDateTime": "2016-02-29T20:51:02.5955351Z",
      "LastModifiedDateTime": "2016-02-29T20:51:03.9703679Z",
      "ChangeKey": "3JfzyLwJe0mPNcULClXrzQAABtYBDQ==",
      "Categories": [ ],
      "AssignedTo": null,
      "Body": {
        "ContentType": "Text",
        "Content": ""
      },
      "CompletedDateTime": null,
      "DueDateTimeTime": null,
      "HasAttachments":false,
      "Importance": "Normal",
      "IsReminderOn": false,
      "Owner": "Administrator",
      "ParentFolderId": "AQMkAGMwAAAIBEgAAAA==",
      "Recurrence": null,
      "ReminderDateTime": null,
      "Sensitivity": "Normal",
      "StartDateTime": null,
      "Status": "NotStarted",
      "Subject": "another task"
    }
  ],
  "@odata.nextLink": "https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMw80AAAIBEgAAAA==')/Tasks/?%24skipToken=0fbce2031e844a2f9d13d8bee5ebe2c6"
}

Poursuivre la synchronisation des tâches et utiliser dans le prochain appel GET le skiptoken retourné dans le @odata.nextLink de la réponse précédente, jusqu’à ce que la réponse finale contienne un @odata.deltaLink et un deltaToken. Enregistrez le deltaToken pour la prochaine séquence de synchronisation.

Exemple de requête initiale (synchroniser les dossiers de tâches)

    GET https://outlook.office.com/api/v2.0/me/TaskFolders HTTP/1.1
    Prefer: odata.maxpagesize=1
    Prefer: odata.track-changes

Exemple de données de réponse initiale (synchroniser les dossiers de tâches)

HTTP/1.1 200 OK
Preference-Applied: odata.track-changes

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('5bcd7334-a6c5-4f95-a370-319e077dfe10@e288a0d0-ab74-431b-9699-a3721aabb08f')/TaskFolders('AAMkAGJiAAAAAAESAAA=')",
            "Id": "AAMkAGJiAAAAAAESAAA=",
            "ChangeKey": "PG2a661l00Cy9qH3YxmDfwAAAAAAPA==",
            "Name": "Tasks",
            "IsDefaultFolder":true,
            "ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
        }
    ],
    "@odata.deltaLink": "https://outlook.office.com/api/v2.0/me/TaskFolders/?%24deltatoken=OyZKBDxtmuutZdNAsvah92MZg38AAAAAZwkBAAAA"
}

Exemple de seconde requête (synchroniser les dossiers de tâches)

    GET https://outlook.office.com/api/v2.0/me/TaskFolders/?%24deltatoken=OyZKBDxtmuutZdNAsvah92MZg38AAAAAZwkBAAAA HTTP/1.1
    Prefer: odata.maxpagesize=1
    Prefer: odata.track-changes

Exemple de données de seconde réponse (synchroniser les dossiers de tâches)

HTTP/1.1 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders/$delta",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('5bcd7334-a6c5-4f95-a370-319e077dfe10@e288a0d0-ab74-431b-9699-a3721aabb08f')/TaskFolders('AAMkAGI5AAAunDbWAAA=')",
            "Id": "AAMkAGI5AAAunDbWAAA=",
            "ChangeKey": "PmebZ1wYAUaTmrKkvU9LIQAALqEkaw==",
            "Name": "Bingo",
            "IsDefaultFolder":false,
            "ParentGroupKey": "db0823f2-93bd-4db6-8038-98bbc5f39a45"
        }
    ],
    "@odata.nextLink": "https://outlook.office.com/api/v2.0/me/TaskFolders/?%24skipToken=x_zCAz5nm2dcGAFGk5qypL1PSyEAAC6cRncCAAAA"
}

Poursuivre la synchronisation des tâches et utiliser dans le prochain appel GET le skiptoken retourné dans le @odata.nextLink de la réponse précédente, jusqu’à ce que la réponse finale contienne un @odata.deltaLink et un deltaToken. Dans cet exemple, la troisième requête renvoie un deltaToken et la synchronisation est terminée pour cette séquence.

Exemple de troisième requête (synchroniser les dossiers de tâches)

    GET https://outlook.office.com/api/v2.0/me/TaskFolders/?%24skipToken=x_zCAz5nm2dcGAFGk5qypL1PSyEAAC6cRncCAAAA HTTP/1.1
    Prefer: odata.maxpagesize=1

Exemple de données de troisième réponse (synchroniser les dossiers de tâches)

HTTP/1.1 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders/$delta",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('5bcd7334-a6c5-4f95-a370-319e077dfe10@e288a0d0-ab74-431b-9699-a3721aabb08f')/TaskFolders('AAMkAGI5AAAunDbVAAA=')",
            "Id": "AAMkAGI5AAAunDbVAAA=",
            "ChangeKey": "PmebZ1wYAUaTmrKkvU9LIQAALqEkZA==",
            "Name":"Volunteer",
            "IsDefaultFolder":false,
            "ParentGroupKey": "db0823f2-93bd-4db6-8038-98bbc5f39a45"
        }
    ],
    "@odata.deltaLink":"https://outlook.office.com/api/v2.0/me/taskfolders/?%24deltaToken=x_zCBD5nm2dcGAFGk5qypL1PSyEAAC6cRncEAAAA"
}

Get attachments

Get an attachment collection

Étendue minimale requise

Obtenir les pièces jointes à partir d’une tâche particulière.

GET https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments

Type de réponse

Une collection de pièces jointes pouvant être du type FileAttachment ou ItemAttachment.

Exemple de demande

L'exemple suivant renvoie toutes les pièces jointes de la tâche spécifiée, qui incluent un fichier et un élément d’événement.

GET https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments

Exemple de réponse

Code d’état : 200

{
    "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments",
    "value":[
        {
            "@odata.type":"#Microsoft.OutlookServices.FileAttachment",
            "@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN3qGAAA=')/Attachments('AAMkADNkNRT6JOBs=')",
            "Id":"AAMkADNkNRT6JOBs=",
            "LastModifiedDateTime":"2016-11-22T02:24:21Z",
            "Name":"Holiday notice",
            "ContentType":"application/octet-stream",
            "Size":244,
            "IsInline":false,
            "ContentId":null,
            "ContentLocation":null,
            "ContentBytes":"bWFjIGFuZCBjaGVlc2U="
        },
        {
            "@odata.type":"#Microsoft.OutlookServices.ItemAttachment",
            "@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkNS3qGAAA=')/Attachments('AAMkADNkNJVnQIe9r0=')",
            "Id":"AAMkADNkNJVnQIe9r0=",
            "LastModifiedDateTime":"2016-12-01T22:27:13Z",
            "Name":"Holiday event",
            "ContentType":null,
            "Size":2473,
            "IsInline":false
        }    
    ]
}

Get an attachment

Étendue minimale requise

Obtenir la pièce jointe d’une tâche particulière.

GET https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments('{attachment_id}')

Type de réponse

Le fichier joint ou l’élément joint demandés.

Exemple de requête (fichier joint)

L’exemple suivant obtient la pièce jointe spécifique d’une tâche, qui est un fichier joint.

GET https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments('AAMkADNkNRT6JOBs=')

Exemple de réponse

Code d’état : 200

{
    "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments/$entity",
    "@odata.type":"#Microsoft.OutlookServices.FileAttachment",
    "@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN3qGAAA=')/Attachments('AAMkADNkNRT6JOBs=')",
    "Id":"AAMkADNkNRT6JOBs=",
    "LastModifiedDateTime":"2016-11-22T02:24:21Z",
    "Name":"Holiday notice",
    "ContentType":"application/octet-stream",
    "Size":244,
    "IsInline":false,
    "ContentId":null,
    "ContentLocation":null,
    "ContentBytes":"bWFjIGFuZCBjaGVlc2U="
}

Exemple de requête (élément joint)

L’exemple suivant obtient une pièce jointe spécifique d’une tâche, qui est un élément d’événement.

GET https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkNS3qGAAA=')/attachments('AAMkADNkNJVnQIe9r0=')

Exemple de réponse

Code d’état : 200

{
    "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkNS3qGAAA%3D')/Attachments/$entity",
    "@odata.type":"#Microsoft.OutlookServices.ItemAttachment",
    "@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkNS3qGAAA=')/Attachments('AAMkADNkNJVnQIe9r0=')",
    "Id":"AAMkADNkNJVnQIe9r0=",
    "LastModifiedDateTime":"2016-12-01T22:27:13Z",
    "Name":"Holiday event",
    "ContentType":null,
    "Size":2473,
    "IsInline":false
}

Add attachments

Vous pouvez ajouter un fichier, un élément (message, événement ou contact) ou un lien vers un fichier en tant que pièce jointe à une tâche.

Add a file attachment

Étendue minimale requise

Ajout d’un fichier en pièce jointe à une tâche.

POST https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments
Paramètre de corps requis Type Description
@odata.type chaîne #Microsoft.OutlookServices.FileAttachment
Nom chaîne Nom de la pièce jointe.
ContentBytes binaire Le contenu du fichier à joindre, en codage base64.

Type de réponse

Le nouveau fichier joint.

Exemple de demande

POST https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments
Content-Type: application/json

{
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment"", 
    "Name": "Holiday notice", 
    "ContentBytes": "bWFjIGFuZCBjaGVlc2U="
}

Exemple de réponse

Code d’état : 201 Créé

{
    "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments/$entity",
    "@odata.type":"#Microsoft.OutlookServices.FileAttachment",
    "@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN3qGAAA=')/Attachments('AAMkADNkNRT6JOBs=')",
    "Id":"AAMkADNkNRT6JOBs=",
    "LastModifiedDateTime":"2016-11-22T02:24:21Z",
    "Name":"Holiday notice",
    "ContentType":"application/octet-stream",
    "Size":244,
    "IsInline":false,
    "ContentId":null,
    "ContentLocation":null,
    "ContentBytes":"bWFjIGFuZCBjaGVlc2U="
}

Add an item attachment

Étendue minimale requise

Ajouter un élément (message, événement ou contact) en tant que pièce jointe à une tâche.

POST https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments
Paramètre de corps requis Type Description
@odata.type chaîne #Microsoft.OutlookServices.ItemAttachment
Nom chaîne Nom de la pièce jointe.
Élément Une entité Message, Événement, ou Contact. L’élément à joindre.

Type de réponse

Le nouvel élément joint.

Exemple de demande

POST https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments
Content-Type: application/json

{
    "@odata.type": "#Microsoft.OutlookServices.ItemAttachment", 
    "Name": "Holiday event", 
    "Item": {
        "@odata.type": "Microsoft.OutlookServices.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"
           }
    }
}

Exemple de réponse

Code d’état : 201 Créé

{
    "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments/$entity",
    "@odata.type":"#Microsoft.OutlookServices.ItemAttachment",
    "@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN23qGAAA=')/Attachments('AAMkADNkN2Jp5JVnQIe9r0=')",
    "Id":"AAMkADNkNJp5JVnQIe9r0=",
    "LastModifiedDateTime":"2016-12-01T22:27:13Z",
    "Name":"Holiday event",
    "ContentType":null,
    "Size":2473,
    "IsInline":false
}

Add a reference attachment

Étendue minimale requise

Ajouter un lien vers un fichier en tant que référence jointe à une tâche.

POST https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments
Paramètre de corps requis Type Description
@odata.type Chaîne #Microsoft.OutlookServices.ReferenceAttachment
Nom Chaîne Nom d’affichage de la pièce jointe. Obligatoire.
SourceUrl Chaîne URL permettant d’obtenir le contenu de la pièce jointe. S'il s'agit d'une URL vers un dossier, pour que le dossier s'affiche correctement dans Outlook ou Outlook sur le Web, définissez la valeur IsFolder à vrai. Obligatoire.

Spécifie les paramètres Name, SourceUrl et toute propriété référence jointe inscriptible dans le corps de la requête.

Type de réponse

La référence jointe.

Exemple de demande

L’exemple suivant ajoute une référence jointe à une tâche existante. La pièce jointe est un lien vers un fichier sur OneDrive Entreprise.

POST https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments
Content-Type: application/json

{
    "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment", 
    "Name": "Hydrangea picture", 
    "SourceUrl": "https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fadmin%5Fcontoso%5Fonmicrosoft%5Fcom%2FDocuments%2FHydrangeas%2Ejpg&parent=%2Fpersonal%2Fadmin%5Fcontoso%5Fonmicrosoft%5Fcom%2FDocuments", 
    "ProviderType": "oneDriveBusiness", 
    "Permission": "Edit", 
    "IsFolder": "False" 
}

Exemple de réponse

Code d’état : 201 Créé

{
    "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments/$entity",
    "@odata.type":"#Microsoft.OutlookServices.ReferenceAttachment",
    "@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN3qGAAA=')/Attachments('AAMkADNkNQG1Lnn5-o=')",
    "Id":"AAMkADNkNQG1Lnn5-o=",
    "LastModifiedDateTime":"2016-11-22T02:32:44Z",
    "Name":"Hydrangea picture",
    "ContentType":null,
    "Size":850,
    "IsInline":true,
    "SourceUrl":"https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fadmin%5Fcontoso%5Fonmicrosoft%5Fcom%2FDocuments%2FHydrangeas%2Ejpg&parent=%2Fpersonal%2Fadmin%5Fcontoso%5Fonmicrosoft%5Fcom%2FDocuments",
    "ProviderType":"OneDriveBusiness",
    "ThumbnailUrl":null,
    "PreviewUrl":null,
    "Permission":"Edit",
    "IsFolder":false
}

Delete attachments

Delete an attachment of a task

Delete an attachment of a task

Étendue minimale requise

Supprime la pièce jointe spécifiée d’une tâche. La pièce jointe peut être un fichier joint ou un élément joint.

DELETE https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments('{attachment_id}')

Exemple de demande

DELETE https:/outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments('AAMkADNkNQG1Lnn5-o=')

Exemple de réponse

Status code: 204

Create task folders

Étendue minimale requise

Crée un dossier de tâches.

Vous pouvez créer un dossier de tâches dans le groupe de tâches par défaut (My Tasks) de la boîte aux lettres de l’utilisateur :

POST https://outlook.office.com/api/v2.0/me/taskfolders

Ou vous pouvez créer un dossier de tâches dans un groupe de tâches spécifié :

POST https://outlook.office.com/api/v2.0/me/taskgroups('{group_id}')/taskfolders

Dans le corps de la requête, fournissez une représentation JSON du TaskFolder à créer.

Réponse

Code de statut de succès : 201 Créé

Corps de la réponse : le TaskFolder créé.

Exemple de demande

L’exemple suivant crée un dossier de tâches appelé Volunteer dans le groupe de tâches par défaut (My Tasks) de la boîte aux lettres de l’utilisateur.

POST https://outlook.office.com/api/v2.0/me/taskfolders 
Content-Type: application/json

{
  "Name": "Volunteer"
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAhrbPWAAA=')",
  "Id": "AAMkADIyAAAhrbPWAAA=",
  "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAGig==",
  "IsDefaultFolder": false,
  "Name": "Volunteer",
  "ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
}

Exemple de demande

L’exemple suivant crée un dossier de tâches appelé Cooking dans le groupe de tâches spécifié.

POST https://outlook.office.com/api/v2.0/me/taskgroups('AAMkADIyAAAhrbe-AAA')/taskfolders 
Content-Type: application/json

{
  "Name": "Cooking"
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskGroups('AAMkADIyAAAhrbe-AAA%3D')/TaskFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAhrbPXAAA=')",
  "Id": "AAMkADIyAAAhrbPXAAA=",
  "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAOlA==",
  "IsDefaultFolder": false,
  "Name": "Cooking",
  "ParentGroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
}

Obtenir des dossiers de tâches

Étendue minimale requise

Obtenir plusieurs dossiers de tâches.

Vous pouvez obtenir tous les dossiers de tâches dans la boîte aux lettres de l’utilisateur :

GET https://outlook.office.com/api/v2.0/me/taskfolders

Ou vous pouvez obtenir des dossiers de tâches dans un groupe de tâches spécifique :

GET https://outlook.office365.com/api/v2.0/me/taskgroups('{group_id}')/taskfolders 

Réponse

Code d'état de succès : 200 OK

Corps de la réponse : Une collection de taskfolder.

Exemple de demande

L’exemple suivant obtient tous les dossiers de tâches dans la boîte aux lettres de l’utilisateur.

GET https://outlook.office.com/api/v2.0/me/taskfolders

Exemple de réponse

Status code: 200 OK

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskFolders",
  "value": [
    {
      "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAAABrJAAA=')",
      "Id": "AAMkADIyAAAAABrJAAA=",
      "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAAAAeAA==",
      "IsDefaultFolder": false,
      "Name": "Monthly tasks",
      "ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
    },
    {
      "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAAAAESAAA=')",
      "Id": "AAMkADIyAAAAAAESAAA=",
      "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAAAAAPA==",
      "IsDefaultFolder": true,
      "Name": "Tasks",
      "ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
    }
  ]
}

L’exemple suivant obtient tous les dossiers de tâches dans le groupe de tâches spécifié.

GET https://outlook.office365.com/api/v2.0/me/taskgroups('AAMkADIyAAAhrbe-AAA=')/taskfolders

Exemple de réponse

Status code: 200 OK

{
  "@odata.context": "https://outlook.office365.com/api/v2.0/$metadata#Me/TaskGroups('AAMkADIyAAAhrbe-AAA%3D')/TaskFolders",
  "value": [
    {
      "@odata.id": "https://outlook.office365.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAhrbPXAAA=')",
      "Id": "AAMkADIyAAAhrbPXAAA=",
      "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAOlA==",
      "IsDefaultFolder": false,
      "Name": "Cooking",
      "ParentGroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
    }
  ]
}

Mettre à jour des dossiers de tâches

Étendue minimale requise

Mettre à jour les propriétés modifiables d’un dossier de tâches.

Vous ne pouvez pas changer la valeur de la propriété Name du dossier de tâches par défaut, Tasks.

L’ID d’un dossier de tâches est unique dans la boîte aux lettres de l’utilisateur.

PATCH https://outlook.office.com/api/v2.0/me/taskfolders('{folder_id}')

Dans le corps de la requête, fournissez une représentation JSON des propriétés modifiables à mettre à jour dans le TaskFolder.

Réponse

Code d'état de succès : 200 OK

Corps de la réponse : le TaskFolder mis à jour.

Exemple de demande

L’exemple suivant modifie le nom du dossier de tâches en Charity work.

PATCH https://outlook.office.com/api/v2.0/me/taskfolders('AAMkADIyAAAhrbPWAAA=')
Content-Type: application/json

{
  "Name": "Charity work"
}

Exemple de réponse

Status code: 200 OK

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAhrbPWAAA=')",
  "Id": "AAMkADIyAAAhrbPWAAA=",
  "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAKfQ==",
  "IsDefaultFolder": false,
  "Name": "Charity work",
  "ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
}

Supprimer des dossiers de tâches

Étendue minimale requise

Supprimer un dossier de tâches spécifié.

Tenter de supprimer le dossier de tâches par défaut Tasks retournerait une erreur HTTP 400 Bad Request.

DELETE https://outlook.office.com/api/v2.0/me/taskfolders('{folder_id}')

Réponse

Code d'état de succès : 204 Pas de contenu

Corps de la réponse : Aucun.

Exemple de demande

DELETE https://outlook.office365.com/api/v2.0/me/taskfolders('AAMkADIyAAAhrbPXAAA=')

Exemple de réponse

Status code: 204

Créer des groupes de tâches

Étendue minimale requise

Créer un groupe de tâches dans la boîte aux lettres de l'utilisateur.

POST https://outlook.office.com/api/v2.0/me/taskgroups

Dans le corps de la requête, fournissez une représentation JSON du TaskGroup à créer.

Réponse

Code de statut de succès : 201 Créé

Corps de la réponse : le TaskGroup créé.

Exemple de demande

POST https://outlook.office.com/api/v2.0/me/taskgroups
Content-Type: application/json

{
  "Name": "Leisure tasks"
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskGroups/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskGroups('AAMkADIyAAAhrbe-AAA=')",
  "Id": "AAMkADIyAAAhrbe-AAA=",
  "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAGjg==".
  "IsDefaultGroup": false,
  "Name": "Leisure tasks",
  "GroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
}

Get task groups

Étendue minimale requise

Obtenir tous les groupes de tâches dans la boîte aux lettres de l’utilisateur.

La réponse inclut toujours le groupe de tâches par défaut My Taskset tous les autres groupes de tâches qui ont été créés dans la boîte aux lettres.

GET https://outlook.office.com/api/v2.0/me/taskgroups

Réponse

Code d'état de succès : 200 OK

Corps de la réponse : Une collection de TaskGroup.

Exemple de demande

GET https://outlook.office.com/api/v2.0/me/taskgroups

Exemple de réponse

Status code: 200

{
  "@odata.context": "https://outlook.office365.com/api/v2.0/$metadata#Me/TaskGroups",
  "value": [
    {
      "@odata.id": "https://outlook.office365.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskGroups('AAMkADIyAAADJ5pYAAA=')",
      "Id": "AAMkADIyAAADJ5pYAAA=",
      "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAInHxLA==",
      "IsDefaultGroup": true,
      "Name": "My Tasks",
      "GroupKey": "0006f0b7-0000-0000-c000-000000000046"
    },
    {
      "@odata.id": "https://outlook.office365.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskGroups('AAMkADIyAAAhrbe-AAA=')",
      "Id": "AAMkADIyAAAhrbe-AAA=",
      "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAInHxKw==",
      "IsDefaultGroup": false,
      "Name": "Leisure Tasks",
      "GroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
    }
  ]
}

Update task groups

Étendue minimale requise

Met à jour les propriétés modifiables d’un groupe de tâches.

PATCH https://outlook.office.com/api/v2.0/me/taskgroups('{group_id}')

Dans le corps de la requête, fournissez une représentation JSON des propriétés modifiables à mettre à jour dans le TaskGroup, comme la propriété Nom.

Réponse

Code d'état de succès : 200 OK

Corps de la réponse : la tâche mise à jour.

Exemple de demande

L’exemple suivant change le nom d’un groupe de tâches en "Tâches personnelles". Notez que vous ne pouvez pas modifier le nom du groupe de tâches par défaut "Mes tâches".

PATCH https://outlook.office.com/api/v2.0/me/taskgroups('AAMkADIyAAAhrbe-AAA=')
Content-Type: application/json

{
  "Name": "Personal Tasks"
}

Exemple de réponse

Status code: 200 

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskGroups/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskGroups('AAMkADIyAAAhrbe-AAA=')",
  "Id": "AAMkADIyAAAhrbe-AAA=",
  "ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAGjw==",
  "IsDefaultGroup": false,
  "Name": "Personal Tasks",
  "GroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
}

Delete task groups

Étendue minimale requise

Supprime le groupe de tâches spécifié.

Tenter de supprimer le groupe de tâches par défaut My Tasks retournerait une erreur HTTP 400 Bad Request.

DELETE https://outlook.office.com/api/v2.0/me/taskgroups('{group_id}')

Réponse

Code d'état de succès : 204 Pas de contenu

Corps de la réponse : la tâche mise à jour.

Exemple de demande

DELETE https://outlook.office365.com/api/v2.0/me/taskgroups('AAMkADIyAAAhrbe-AAA=')

Exemple de réponse

Status code: 204

Étapes suivantes

Que vous soyez prêt à commencer à créer une application ou que vous souhaitiez simplement en apprendre plus, nous avons ce qu’il vous faut.

Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :