Jump to content

eto309

Members
  • Gesamte Inhalte

    5
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von eto309

  1. Hallo ist es über den EWS möglich die eigene EntryID zu bekommen.

     

    ein ähnliches Beispiel habe ich aus einem früheren Programm wo ich die EntryId der Empfänger auslese.

     

    Dim entryId as String = appt.Recipients.Item(iRec).AddressEntry.ID

    Hat mir jemand ein funktionierendes Beispiel für das Auslesen der EntryID des aktuell angemeldeten Users über EWS ?

     

     

  2. Guten Tag Liebe Community,

     

    folgender Stand:

     

    Ich habe 2 Server und 1 Client System über VMWARE erstellt.

     

    Server1: DomainController\ActiveDirectory

    Server2: Exchange Server\IIS

    Server3: Client

     

    Auf dem Client befindet sich Outlook 2010 das mit dem Exchange Server 2016 verbunden ist. Im Outlook befindet sich ein VSTO Addin das erstellte Termine mit einer Markierung versetzt um Sie so einheitlich zu Identifizieren. -> Klappt

     

    Nun zu meinem Problem... Es soll möglich sein via einer Webanwendung(die auf dem IIS gehostet wird) die erstellten Termine aus dem Outlook Addin auslesen zu können.

     

    Dazu benutze ich den Exchange WebService:

     

     If ConfigurationManager.AppSettings("ExchangeDefaultCredentials") Then
                    service = New ExchangeService() With {
                       .UseDefaultCredentials = True,
                       .Url = New Uri(ConfigurationManager.ConnectionStrings("ExchangeUri").ConnectionString)}
                    'service.AutodiscoverUrl(ConfigurationManager.AppSettings("ExchangeUser"), RedirectionUrlValidationCallback)
                Else
                    service = New ExchangeService() With {
                       .UseDefaultCredentials = False,
                       .Credentials = New WebCredentials(ConfigurationManager.AppSettings("ExchangeUser"), ConfigurationManager.AppSettings("ExchangePW")),
                       .Url = New Uri(ConfigurationManager.ConnectionStrings("ExchangeUri").ConnectionString)}
                End If
    
                Dim startDate As DateTime = DateTime.Today
                Dim endDate As DateTime = startDate.AddDays(18)
    
                Dim calendar As CalendarFolder = CalendarFolder.Bind(service, WellKnownFolderName.Calendar, New PropertySet())
    
                Dim cView As New CalendarView(startDate, endDate, 50)
                cView.PropertySet = New PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Id)
                Dim appointments As FindItemsResults(Of Appointment) = calendar.FindAppointments(cView)
    
                For Each appointment As Appointment In appointments
                    apmt = Appointment.Bind(service, appointment.Id, New PropertySet(BasePropertySet.FirstClassProperties) With {.RequestedBodyType = BodyType.Text})
                    If apmt.Categories.Contains("SILO") Then
                        lstApmt.Add(apmt)
                    End If
                Next

     

    Bei der ersten Bedingung wird geprüft ob es sich um einen Zugriff mit "Use Default Credentials" handelt  (diese Boolean Wert wird in der Webconfig eingestellt).

    Ist Use DefaultCredentials = false übergebe ich dem Exchange Server die Mailadresse + das Passwort direkt. -> klappt

     

    Wie stelle ich es aber nun an, das wenn die Use-Default Credentials =true sind, das auch die Credentials des aktuellen Benutzers übergeben werden um dann die Informationen aus dem Exchange zu lesen?

     

    Hänge seit einigen Tagen an dem Problem und weiß nicht ob ich noch nötige Schritte im Exchange Server/IIS oder im Code unternehmen muss.

     

    IIS Authentifizierung:

     

    image.png.d746632f29058b2d33255d42e912d8d3.png

     

    EWS:

    image.png.e79f0b504992060ce81728d96a6c54b4.png

     

     

     

     

     

     

     

     

     

×
×
  • Neu erstellen...