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 surnull
.
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.
Renvoyer des propriétés liées à la date dans un fuseau horaire personnalisé
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 unskipToken
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 unskipToken
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 :
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.)
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 incluraPreference-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 undeltaToken
. - La seconde requête utilise ce
deltatoken
. La seconde réponse renvoie un objet synchronisé, unnextLink
et unskipToken
.
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 Tasks
et 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.
- Premiers pas avec les API REST Courrier, Calendrier et Contacts.
- Voulez-vous des exemples ? Nous en avons.
Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :
- API REST d’Outlook sur le Centre de développement Outlook
- Vue d’ensemble du processus de développement sur la plateforme Office 365
- Authentification d'application et autorisation de ressources Office 365
- Enregistrez manuellement votre application dans Azure AD pour qu’elle puisse accéder aux API Office 365
- Utiliser l'API REST Outlook
- Référence des API REST Courrier
- Référence des API REST Calendrier
- Référence des API REST Contacts
- Référence de ressource pour les API REST Courrier, Calendrier, Contacts et Tâche