Ich habe eine Website, die es einem Benutzer ermöglicht, seinen Kalender in unserem System mit dem Outlook-Kalender mithilfe der API v2 zu synchronisieren.Outlook API Verwenden von Refresh-Token in der Konsolenanwendung
Alles funktioniert gut, wenn der Benutzer auf eine Schaltfläche in unserer Webanwendung klickt, erhalten wir das Aktualisierungstoken und speichern es in unserer Datenbank.
Wir haben eine Konsolenanwendung, die so konfiguriert ist, dass sie regelmäßig ausgeführt wird, um für die Benutzer zu synchronisieren, sodass sie nicht auf die Schaltfläche klicken müssen.
Wenn ich versuche, die API jederzeit aufzurufen, warte ich die Antwort ab, die Konsolenanwendung wird sofort geschlossen.
Unten ist der Code zum Abrufen der Ereignisse aus dem Kalender des Benutzers. Die Anwendung wird in der Zeile "Dim Response" geschlossen.
Public Shared Async Function FetchEventList(CalendarID As String, StartDate As String, EndDate As String, Token As String) As Task(Of EventListResponse)
Dim EventResposne = New EventListResponse()
Try
Dim data As String = Token
Dim baseUri As String = Convert.ToString("https://outlook.office.com/api/v2.0/me/calendars/") & CalendarID & "/calendarview?startDateTime=" & StartDate & "&endDateTime=" & EndDate
Dim client = New HttpClient()
client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", Convert.ToString("=") & data)
Dim response = Await client.GetAsync(baseUri)
Dim result = Await response.Content.ReadAsStringAsync()
EventResposne = Newtonsoft.Json.JsonConvert.DeserializeObject(Of EventListResponse)(result)
Catch ex As Exception
End Try
Return EventResposne
End Function
Was fehlt mir und wie kann ich es beheben?
Jede Hilfe wäre willkommen.