【发布时间】:2016-12-02 01:31:00
【问题描述】:
我有一个网站,允许用户使用 v2 API 将他们在我们系统中的日历与 Outlook 日历同步。
当用户点击我们网络应用程序上的按钮时,一切正常,我们收到刷新令牌并将其存储在我们的数据库中。
我们有一个控制台应用程序,它设置为定期运行以同步用户,因此他们无需单击按钮。
当我在等待响应的任何时候尝试调用 API 时,控制台应用程序会立即关闭。
以下是从用户日历中获取事件的代码。应用程序在“dim response”行关闭。
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
我缺少什么以及如何解决?
任何帮助将不胜感激。
【问题讨论】:
标签: vb.net oauth outlook console async-await