Créer un événementCreate Event

Important

Les API sous /beta la version de Microsoft Graph peuvent faire l'objet de modifications.APIs under the /beta version in Microsoft Graph are subject to change. L’utilisation de ces API dans des applications de production n’est pas prise en charge.Use of these APIs in production applications is not supported.

Créez un événement dans le calendrier par défaut de l’utilisateur ou un calendrier spécifié.Create an event in the user's default calendar or specified calendar.

Vous pouvez spécifier le fuseau horaire pour toutes les heures de début et de fin de l’événement dans le cadre de ces valeurs, comme les propriétés de début et de fin sont de type dateTimeTimeZone.You can specify the time zone for each of the start and end times of the event as part of these values, as the start and end properties are of dateTimeTimeZone type.

Lorsqu’un événement est envoyé, le serveur envoie des invitations à tous les participants.When an event is sent, the server sends invitations to all the attendees.

Définition de l’emplacement dans un événementSetting the location in an event

Un administrateur Exchange peut configurer une boîte aux lettres et une adresse de messagerie pour une ressource, comme une salle de réunion, ou un équipement, comme un projecteur.An Exchange administrator can set up a mailbox and an email address for a resource such as a meeting room, or equipment like a projector. Les utilisateurs peuvent ensuite inviter la ressource en tant que participant à une réunion.Users can then invite the resource as an attendee to a meeting. Au nom de la ressource, le serveur accepte ou refuse la demande de réunion en fonction de la disponibilité de la ressource.On behalf of the resource, the server accepts or rejects the meeting request based on the free/busy schedule of the resource. Si le serveur accepte une réunion pour la ressource, il crée un événement pour la réunion dans le calendrier des ressources.If the server accepts a meeting for the resource, it creates an event for the meeting in the resource's calendar. Si la réunion est replanifiée, le serveur met automatiquement à jour l’événement dans le calendrier des ressources.If the meeting is rescheduled, the server automatically updates the event in the resource's calendar.

La configuration d’une boîte aux lettres pour une ressource présente également l’avantage de pouvoir contrôler la planification de la ressource : par exemple, seuls les cadres ou leurs délégués peuvent réserver une salle de réunion privée.Another advantage of setting up a mailbox for a resource is to control scheduling of the resource, for example, only executives or their delegates can book a private meeting room.

Si vous organisez un événement impliquant un emplacement de réunion :If you're organizing an event that involves a meeting location:

  1. Définissez la propriété location de l’événement en conséquence.Set the location property of the event accordingly.
  2. Définissez la propriété locationEmailAddress facultative si l’emplacement de la réunion dispose d’une adresse e-mail.Set the optional locationEmailAddress property if the meeting location has an email address.

De plus, si l’emplacement de la réunion a été configuré comme une ressource ou si l’événement implique certains équipements ayant été configurés comme une ressource, procédez comme suit :Additionally, if the meeting location has been set up as a resource, or if the event involves some equipment that has been set up as a resource:

  1. Invitez la ressource en tant que participant.Invite the resource as an attendee.
  2. Définissez la propriété type du participant en tant que resource.Set the attendee type property as resource.
  3. Définissez la propriété emailAddress du participant comme adresse e-mail de la ressource.Set the attendee emailAddress as the resource email address.

AutorisationsPermissions

L’une des autorisations suivantes est nécessaire pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Type d’autorisationPermission type Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)Permissions (from least to most privileged)
Déléguée (compte professionnel ou scolaire)Delegated (work or school account) Calendars.ReadWriteCalendars.ReadWrite
Déléguée (compte Microsoft personnel)Delegated (personal Microsoft account) Calendars.ReadWriteCalendars.ReadWrite
ApplicationApplication Calendars.ReadWriteCalendars.ReadWrite

Requête HTTPHTTP request

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

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

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

En-têtes de demandeRequest headers

En-têteHeader ValeurValue
AutorisationAuthorization Porteur {token}. Obligatoire.Bearer {token}. Required.
Content-TypeContent-Type application/json. Obligatoire.application/json. Required.

Corps de la demandeRequest body

Dans le corps de la demande, fournissez une représentation JSON de l’objet Événement.In the request body, supply a JSON representation of event object.

Dans la mesure où la ressource event prend en charge des extensions, vous pouvez utiliser l’opération POST pour ajouter des propriétés personnalisées avec vos propres données à l’événement lors de sa création.Since the event resource supports extensions, you can use the POST operation and add custom properties with your own data to the event while creating it.

RéponseResponse

Si elle réussit, cette méthode renvoie un code de réponse 201 Created et un objet event dans le corps de la réponse.If successful, this method returns 201 Created response code and event object in the response body.

ExempleExample

Demande 1Request 1

Voici un exemple de demande.Here is an example of the request. Il utilise l’en-tête de demande Prefer: outlook.timezone pour spécifier le fuseau horaire des heures de début et de fin dans la réponse.It uses the Prefer: outlook.timezone request header to specify the time zone for the start and end times in the response.

POST https://graph.microsoft.com/beta/me/events
Prefer: outlook.timezone="Pacific Standard Time"
Content-type: application/json
Content-length: 600

{
  "subject": "Let's go for lunch",
  "body": {
    "contentType": "HTML",
    "content": "Does late morning work for you?"
  },
  "start": {
      "dateTime": "2017-04-15T12:00:00",
      "timeZone": "Pacific Standard Time"
  },
  "end": {
      "dateTime": "2017-04-15T14:00:00",
      "timeZone": "Pacific Standard Time"
  },
  "location":{
      "displayName":"Harry's Bar"
  },
  "attendees": [
    {
      "emailAddress": {
        "address":"samanthab@contoso.onmicrosoft.com",
        "name": "Samantha Booth"
      },
      "type": "required"
    }
  ]
}

Dans le corps de la demande, fournissez une représentation JSON de l’objet Événement.In the request body, supply a JSON representation of event object.

Réponse 1Response 1

Voici un exemple de réponse qui présente les propriétés start et end utilisées par le fuseau horaire spécifié dans l’en-tête Prefer: outlook.timezone.Here is an example of the response, which shows the start and end properties use the time zone specified in the Prefer: outlook.timezone header. Remarque : l’objet de réponse illustré ici peut être tronqué à des fins de concision.Note: The response object shown here may be truncated for brevity. Toutes les propriétés sont renvoyées à partir d’un appel réel.All of the properties will be returned from an actual call.

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

{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/events/$entity",
    "@odata.etag":"W/\"ZlnW4RIAV06KYYwlrfNZvQAALfZeRQ==\"",
    "id":"AAMkAGI1AAAt9AHjAAA=",
    "createdDateTime":"2017-04-15T03:00:50.7579581Z",
    "lastModifiedDateTime":"2017-04-15T03:00:51.245372Z",
    "changeKey":"ZlnW4RIAV06KYYwlrfNZvQAALfZeRQ==",
    "categories":[

    ],
    "originalStartTimeZone":"Pacific Standard Time",
    "originalEndTimeZone":"Pacific Standard Time",
    "uid":"040000008200E00074C5B7101A82E00800000000DA2B357D94B5D201000000000000000010000000EC4597557F0CB34EA4CC2887EA7B17C3",
    "reminderMinutesBeforeStart":15,
    "isReminderOn":true,
    "hasAttachments":false,
    "subject":"Let's go brunch",
    "bodyPreview":"Does late morning work for you?",
    "importance":"normal",
    "sensitivity":"normal",
    "isAllDay":false,
    "isCancelled":false,
    "isOrganizer":true,
    "responseRequested":true,
    "seriesMasterId":null,
    "showAs":"busy",
    "type":"singleInstance",
    "webLink":"https://outlook.office365.com/owa/?itemid=AAMkAGI1AAAt9AHjAAA%3D&exvsurl=1&path=/calendar/item",
    "onlineMeetingUrl":null,
    "responseStatus":{
        "response":"organizer",
        "time":"0001-01-01T00:00:00Z"
    },
    "body":{
        "contentType":"html",
        "content":"<html><head></head><body>Does late morning work for you?</body></html>"
    },
    "start":{
        "dateTime":"2017-04-15T11:00:00.0000000",
        "timeZone":"Pacific Standard Time"
    },
    "end":{
        "dateTime":"2017-04-15T12:00:00.0000000",
        "timeZone":"Pacific Standard Time"
    },
    "location": {
        "displayName": "Harry's Bar",
        "locationType": "default",
        "uniqueId": "Harry's Bar",
        "uniqueIdType": "private"
    },
    "locations": [
        {
            "displayName": "Harry's Bar",
            "locationType": "default",
            "uniqueIdType": "unknown"
        }
    ],
    "recurrence":null,
    "attendees":[
        {
            "type":"required",
            "status":{
                "response":"none",
                "time":"0001-01-01T00:00:00Z"
            },
            "emailAddress":{
                "name":"Samantha Booth",
                "address":"samanthab@contoso.onmicrosoft.com"
            }
        }
    ],
    "organizer":{
        "emailAddress":{
            "name":"Dana Swope",
            "address":"danas@contoso.onmicrosoft.com"
        }
    }
}

Exemple de code SDKSDK sample code


GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var emailAddress = new EmailAddress
{
    Address = "samanthab@contoso.onmicrosoft.com",
    Name = "Samantha Booth",
};

var attendees = new Attendee
{
    EmailAddress = emailAddress,
    Type = AttendeeType.Required,
};

var attendeesList = new List<Attendee>();
attendeesList.Add( attendees );

var location = new Location
{
    DisplayName = "Harry's Bar",
};

var end = new DateTimeTimeZone
{
    DateTime = "2017-04-15T14:00:00",
    TimeZone = "Pacific Standard Time",
};

var start = new DateTimeTimeZone
{
    DateTime = "2017-04-15T12:00:00",
    TimeZone = "Pacific Standard Time",
};

var body = new ItemBody
{
    ContentType = BodyType.Html,
    Content = "Does late morning work for you?",
};

var _event = new Event
{
    Subject = "Let's go for lunch",
    Body = body,
    Start = start,
    End = end,
    Location = location,
    Attendees = attendeesList,
};

await graphClient.Me.Events
    .Request()
    .AddAsync(_event);

Pour plus d’informations sur la façon d' Ajouter le kit de développement logiciel (SDK) à votre projet et de créer une instance authProvider , consultez la documentation SDK .Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.

Demande 2Request 2

L’exemple de demande suivant spécifie 3 emplacements où l’organisateur et les participants peuvent assister à la réunion.The next example request specifies 3 locations where the organizer and attendees can attend the meeting from.

Dans le corps de la demande, fournissez une représentation JSON de l’objet event.In the request body, supply a JSON representation of event object.

POST https://graph.microsoft.com/beta/me/events
Prefer: outlook.timezone="Pacific Standard Time"
Content-type: application/json
Content-length: 1390

{
  "subject": "Plan summer company picnic",
  "body": {
    "contentType": "HTML",
    "content": "Let's kick-start this event planning!"
  },
  "start": {
      "dateTime": "2017-08-30T11:00:00",
      "timeZone": "Pacific Standard Time"
  },
  "end": {
      "dateTime": "2017-08-30T12:00:00",
      "timeZone": "Pacific Standard Time"
  },
  "attendees": [
    {
      "emailAddress": {
        "address": "DanaS@contoso.onmicrosoft.com",
        "name": "Dana Swope"
      },
      "type": "Required"
    },
    {
      "emailAddress": {
        "address": "AlexW@contoso.onmicrosoft.com",
        "name": "Alex Wilber"
      },
      "type": "Required"
    }
  ],
  "location": {
    "displayName": "Conf Room 3; Fourth Coffee; Home Office",
    "locationType": "Default"
  },
  "locations": [
    {
      "displayName": "Conf Room 3"
    },
    {
      "displayName": "Fourth Coffee",
      "address": {
        "street": "4567 Main St",
        "city": "Redmond",
        "state": "WA",
        "countryOrRegion": "US",
        "postalCode": "32008"
      },
      "coordinates": {
        "latitude": 47.672,
        "longitude": -102.103
      }
    },
    {
      "displayName": "Home Office"
    }
  ]

}
Réponse 2Response 2

L’exemple de réponse suivant illustre l’événement créé qui indique les informations pour les 3 emplacements de la réunion.The following example response shows the created event that specifies information for the 3 locations for the meeting. En raison de l’en-tête de demande Prefer: outlook.timezone="Pacific Standard Time", les propriétés start et end sont présentées au format PST.Because of the Prefer: outlook.timezone="Pacific Standard Time" request header, the start and end properties are expressed in PST. Remarque : l’objet de réponse illustré ici peut être tronqué à des fins de concision.Note: The response object shown here may be truncated for brevity. Toutes les propriétés sont renvoyées à partir d’un appel réel.All of the properties will be returned from an actual call.

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

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('d1a2fae9-db66-4cc9-8133-2184c77af1b8')/events/$entity",
  "@odata.etag":"W/\"y53lbKh6jkaxHzFwGhgyxgAAw5zhug==\"",
  "id":"AAMkADAGAADDdm4NAAA=",
  "createdDateTime":"2017-08-30T07:06:33.8673345Z",
  "lastModifiedDateTime":"2017-08-30T07:06:34.5079772Z",
  "changeKey":"y53lbKh6jkaxHzFwGhgyxgAAz3IKMA==",
  "categories":[

  ],
  "originalStartTimeZone":"Pacific Standard Time",
  "originalEndTimeZone":"Pacific Standard Time",
  "uid":"04000000820089190544",
  "reminderMinutesBeforeStart":15,
  "isReminderOn":true,
  "hasAttachments":false,
  "subject":"Plan summer company picnic",
  "bodyPreview":"Let's kick-start this event planning!",
  "importance":"normal",
  "sensitivity":"normal",
  "isAllDay":false,
  "isCancelled":false,
  "isOrganizer":true,
  "responseRequested":true,
  "seriesMasterId":null,
  "showAs":"busy",
  "type":"singleInstance",
  "webLink":"https://outlook.office365.com/owa/?itemid=AAMkADAGAADDdm4NAAA%3D&exvsurl=1&path=/calendar/item",
  "onlineMeetingUrl":null,
  "responseStatus":{
    "response":"organizer",
    "time":"0001-01-01T00:00:00Z"
  },
  "body":{
    "contentType":"html",
    "content":"<html>\r\n<head>\r\n</head>\r\n<body>\r\nLet's kick-start this event planning!\r\n</body>\r\n</html>\r\n"
  },
  "start":{
    "dateTime":"2017-08-30T11:00:00.0000000",
    "timeZone":"Pacific Standard Time"
  },
  "end":{
    "dateTime":"2017-08-30T12:00:00.0000000",
    "timeZone":"Pacific Standard Time"
  },
  "location":{
    "displayName":"Conf Room 3; Fourth Coffee; Home Office",
    "locationType":"default",
    "uniqueId":"Conf Room 3; Fourth Coffee; Home Office",
    "uniqueIdType":"private"
  },
  "locations":[
    {
      "displayName":"Conf Room 3",
      "locationType":"default",
      "uniqueIdType":"unknown"
    },
    {
      "displayName":"Fourth Coffee",
      "locationType":"default",
      "uniqueId":"Fourth Coffee",
      "uniqueIdType":"private",
      "address":{
        "type":"unknown",
        "street":"4567 Main St",
        "city":"Redmond",
        "state":"WA",
        "countryOrRegion":"US",
        "postalCode":"32008"
      },
      "coordinates":{
        "latitude":47.672,
        "longitude":-102.103
      }
    },
    {
      "displayName":"Home Office",
      "locationType":"default",
      "uniqueIdType":"unknown"
    }
  ],
  "recurrence":null,
  "attendees":[
    {
      "type":"required",
      "status":{
        "response":"none",
        "time":"0001-01-01T00:00:00Z"
      },
      "emailAddress":{
        "name":"Dana Swope",
        "address":"DanaS@contoso.onmicrosoft.com"
      }
    },
    {
      "type":"required",
      "status":{
        "response":"none",
        "time":"0001-01-01T00:00:00Z"
      },
      "emailAddress":{
        "name":"Alex Wilber",
        "address":"AlexW@contoso.onmicrosoft.com"
      }
    }
  ],
  "organizer":{
    "emailAddress":{
      "name":"Adele Vance",
      "address":"AdeleV@contoso.onmicrosoft.com"
    }
  }
}

Exemple de code SDKSDK sample code


GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var locations = new Location
{
    DisplayName = "Home Office",
};

var coordinates = new OutlookGeoCoordinates
{
    Latitude = 47.672,
    Longitude = -102.103,
};

var address = new PhysicalAddress
{
    Street = "4567 Main St",
    City = "Redmond",
    State = "WA",
    CountryOrRegion = "US",
    PostalCode = "32008",
};

var _locations = new Location
{
    DisplayName = "Fourth Coffee",
    Address = address,
    Coordinates = coordinates,
};

var __locations = new Location
{
    DisplayName = "Conf Room 3",
};

var locationsList = new List<Location>();
locationsList.Add( __locations );
locationsList.Add( _locations );
locationsList.Add( locations );

var location = new Location
{
    DisplayName = "Conf Room 3; Fourth Coffee; Home Office",
    LocationType = LocationType.Default,
};

var emailAddress = new EmailAddress
{
    Address = "AlexW@contoso.onmicrosoft.com",
    Name = "Alex Wilber",
};

var attendees = new Attendee
{
    EmailAddress = emailAddress,
    Type = AttendeeType.Required,
};

var emailAddress = new EmailAddress
{
    Address = "DanaS@contoso.onmicrosoft.com",
    Name = "Dana Swope",
};

var _attendees = new Attendee
{
    EmailAddress = emailAddress,
    Type = AttendeeType.Required,
};

var attendeesList = new List<Attendee>();
attendeesList.Add( _attendees );
attendeesList.Add( attendees );

var end = new DateTimeTimeZone
{
    DateTime = "2017-08-30T12:00:00",
    TimeZone = "Pacific Standard Time",
};

var start = new DateTimeTimeZone
{
    DateTime = "2017-08-30T11:00:00",
    TimeZone = "Pacific Standard Time",
};

var body = new ItemBody
{
    ContentType = BodyType.Html,
    Content = "Let's kick-start this event planning!",
};

var _event = new Event
{
    Subject = "Plan summer company picnic",
    Body = body,
    Start = start,
    End = end,
    Attendees = attendeesList,
    Location = location,
    Locations = locationsList,
};

await graphClient.Me.Events
    .Request()
    .AddAsync(_event);

Pour plus d’informations sur la façon d' Ajouter le kit de développement logiciel (SDK) à votre projet et de créer une instance authProvider , consultez la documentation SDK .Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.

Demande 3Request 3

Le troisième exemple montre comment créer un événement périodique.The third example shows how to create a recurring event. L’événement a lieu entre 12 h 00 et 14 h 00, tous les lundis à compter du 4 septembre 2017 jusqu’à la fin de l’année.The event occurs from 12:00pm to 2:00pm, every Monday starting September 4, 2017, through the end of the year.

POST https://graph.microsoft.com/beta/me/events
Content-type: application/json

{
  "subject": "Let's go for lunch",
  "body": {
    "contentType": "HTML",
    "content": "Does noon time work for you?"
  },
  "start": {
      "dateTime": "2017-09-04T12:00:00",
      "timeZone": "Pacific Standard Time"
  },
  "end": {
      "dateTime": "2017-09-04T14:00:00",
      "timeZone": "Pacific Standard Time"
  },
  "recurrence": {
    "pattern": {
      "type": "weekly",
      "interval": 1,
      "daysOfWeek": [ "Monday" ]
    },
    "range": {
      "type": "endDate",
      "startDate": "2017-09-04",
      "endDate": "2017-12-31"
    }
  },
  "location":{
      "displayName":"Harry's Bar"
  },
  "attendees": [
    {
      "emailAddress": {
        "address":"AdeleV@contoso.onmicrosoft.com",
        "name": "Adele Vance"
      },
      "type": "required"
    }
  ]
}

Dans le corps de la demande, fournissez une représentation JSON de l’objet event.In the request body, supply a JSON representation of event object.

Réponse 3Response 3

Voici un exemple de la réponse. Remarque : L’objet de réponse illustré ici peut être tronqué à des fins de concision. Toutes les propriétés sont renvoyées à partir d’un appel réel.Here is an example of the response. Note: The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call.

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

{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#users('919717da-0460-4cca-a6be-d25382429896')/events/$entity",
    "@odata.etag":"W/\"+T8RDneHMkKe2BGYEaQZ4wAA5a9Acw==\"",
    "id":"AAMkADQwMD",
    "createdDateTime":"2017-10-07T04:59:12.9698856Z",
    "lastModifiedDateTime":"2017-10-07T04:59:13.8136423Z",
    "changeKey":"+T8RDneHMkKe2BGYEaQZ4wAA5a9Acw==",
    "categories":[

    ],
    "originalStartTimeZone":"Pacific Standard Time",
    "originalEndTimeZone":"Pacific Standard Time",
    "uid":"040000008200E00074C5B7101A82E0080000000028CEBE04293FD3010000000000000000100000009F85AB8AF8ED4D4FAC777FA89954BDB7",
    "reminderMinutesBeforeStart":15,
    "isReminderOn":true,
    "hasAttachments":false,
    "subject":"Let's go for lunch",
    "bodyPreview":"Does late morning work for you?",
    "importance":"normal",
    "sensitivity":"normal",
    "isAllDay":false,
    "isCancelled":false,
    "isOrganizer":true,
    "responseRequested":true,
    "seriesMasterId":null,
    "showAs":"busy",
    "type":"seriesMaster",
    "webLink":"https://outlook.office365.com/owa/?itemid=AAMkADQwMD&exvsurl=1&path=/calendar/item",
    "onlineMeetingUrl":null,
    "responseStatus":{
        "response":"organizer",
        "time":"0001-01-01T00:00:00Z"
    },
    "body":{
        "contentType":"html",
        "content":"<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nDoes late morning work for you?\r\n</body>\r\n</html>\r\n"
    },
    "start":{
        "dateTime":"2017-09-04T12:00:00.0000000",
        "timeZone":"Pacific Standard Time"
    },
    "end":{
        "dateTime":"2017-09-04T14:00:00.0000000",
        "timeZone":"Pacific Standard Time"
    },
    "location":{
        "displayName":"Harry's Bar",
        "locationType":"default",
        "uniqueId":"Harry's Bar",
        "uniqueIdType":"private"
    },
    "locations":[
        {
            "displayName":"Harry's Bar",
            "locationType":"default",
            "uniqueIdType":"unknown"
        }
    ],
    "recurrence":{
        "pattern":{
            "type":"weekly",
            "interval":1,
            "month":0,
            "dayOfMonth":0,
            "daysOfWeek":[
                "monday"
            ],
            "firstDayOfWeek":"sunday",
            "index":"first"
        },
        "range":{
            "type":"endDate",
            "startDate":"2017-09-04",
            "endDate":"2017-12-31",
            "recurrenceTimeZone":"Pacific Standard Time",
            "numberOfOccurrences":0
        }
    },
    "attendees":[
        {
            "type":"required",
            "status":{
                "response":"none",
                "time":"0001-01-01T00:00:00Z"
            },
            "emailAddress":{
                "name":"Adele Vance",
                "address":"AdeleV@contoso.onmicrosoft.com"
            }
        }
    ],
    "organizer":{
        "emailAddress":{
            "name":"Alex Wilber",
            "address":"AlexW@contoso.onmicrosoft.com"
        }
    },
    "OnlineMeeting":null
}

Exemple de code SDKSDK sample code


GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var emailAddress = new EmailAddress
{
    Address = "AdeleV@contoso.onmicrosoft.com",
    Name = "Adele Vance",
};

var attendees = new Attendee
{
    EmailAddress = emailAddress,
    Type = AttendeeType.Required,
};

var attendeesList = new List<Attendee>();
attendeesList.Add( attendees );

var location = new Location
{
    DisplayName = "Harry's Bar",
};

var range = new RecurrenceRange
{
    Type = RecurrenceRangeType.EndDate,
    StartDate = "2017-09-04",
    EndDate = "2017-12-31",
};

var daysOfWeekList = new List<DayOfWeek>();
daysOfWeekList.Add( "Monday" );

var pattern = new RecurrencePattern
{
    Type = RecurrencePatternType.Weekly,
    Interval = 1,
    DaysOfWeek = daysOfWeekList,
};

var recurrence = new PatternedRecurrence
{
    Pattern = pattern,
    Range = range,
};

var end = new DateTimeTimeZone
{
    DateTime = "2017-09-04T14:00:00",
    TimeZone = "Pacific Standard Time",
};

var start = new DateTimeTimeZone
{
    DateTime = "2017-09-04T12:00:00",
    TimeZone = "Pacific Standard Time",
};

var body = new ItemBody
{
    ContentType = BodyType.Html,
    Content = "Does noon time work for you?",
};

var _event = new Event
{
    Subject = "Let's go for lunch",
    Body = body,
    Start = start,
    End = end,
    Recurrence = recurrence,
    Location = location,
    Attendees = attendeesList,
};

await graphClient.Me.Events
    .Request()
    .AddAsync(_event);

Pour plus d’informations sur la façon d' Ajouter le kit de développement logiciel (SDK) à votre projet et de créer une instance authProvider , consultez la documentation SDK .Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.

Voir aussiSee also