Bonjour

J'ai écrit un petit programme pour lire rendez-vous à partir d'un agenda EWS Exchange O365

ça fonctionne pour accéder à l'objet et aux dates du rendez-vous mais ça plante quand je veux lire l'emplacement du RDV, avec l'erreur
You must load or assign this property before you can read its value.
à la ligne emplacement = ap.Location.ToString.

Voici mon source :

Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
    '-------------------------------------------------------
    ' Fonction de lecture des RDV entre DateDebut et DateFin
    '-------------------------------------------------------
    Private Function Recherche_RV(ByVal DateDebut As Date, ByVal DateFin As Date, ByVal Mail As String) As String
 
        Try
 
            '--Create Exchange Service Binding
            Dim esb = Connect(Mail)
 
            Dim calendar As CalendarFolder = CalendarFolder.Bind(esb, WellKnownFolderName.Calendar, New PropertySet())
 
            Dim cView As New CalendarView(DateDebut.ToUniversalTime, DateFin.ToUniversalTime, 50)
            cView.PropertySet = New PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Id)
            Dim appointments As FindItemsResults(Of Appointment) = calendar.FindAppointments(cView)
 
 
            Dim sujet, emplacement As String
            Dim date_debut As Date
            Dim date_fin As Date
            Dim vide As Boolean
            Dim prive As Boolean
            Dim n As Integer
 
            Dim id, retour As String
 
            Dim NbTrouve As Integer = 0
 
            If appointments.TotalCount > 0 Then
                For Each it As Item In appointments
 
                    Dim ap As Appointment = DirectCast(it, Appointment)
 
                    sujet = ap.Subject.ToString
 
                    date_debut = ap.Start
                    date_fin = ap.End
 
                    emplacement = ap.Location.ToString   ' PLANTE ICI
 
                    prive = ap.Sensitivity
 
                    If (emplacement <> "") And (prive = False) And (sujet.IndexOf("Annulé") = -1) Then
                        retour = Ecrit_Covoiturage(Mail, sujet, emplacement, date_debut, date_fin)
                    End If
 
                Next
 
            End If
 
        Catch ex As Exception
            ' MessageBox.Show(ex.Message + " / mail = " + Mail)
            Return (ex.Message + " / mail = " + Mail)
        End Try
 
 
    End Function

J'ai beau chercher je ne trouve pas

Une idée ?

Merci d'avance