Как я могу получить данные JSON из WebAPI с VB. NET? - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь получить JSON данные из WebAPI, хотя я понятия не имею, как решить с помощью VB. NET. Код ниже был вставлен и сделан из какой-то статьи на inte rnet. На самом деле я не знаю, нужна ли мне команда с именем " Await " или нет, и как ее использовать. Я столкнулся с синтаксической ошибкой из этой области. Может ли кто-нибудь помочь мне? По словам поставщика API, при подключении к этому URL мне, очевидно, нужно добавить значение «токен» в их заголовок. (ASP .NET4.6 / VB.NET / VisualStudio2017)

url = "https://webapi.XXXXXXXXX.XXXXX.com/getuserno?employeeid=" & txtID.Text
Dim str As String
Using client = New Http.HttpClient()   
      client.DefaultRequestHeaders.Add("XXX-Api-Access-Token", jsonObj("access_token"))
      client.Timeout = TimeSpan.FromSeconds(10.0)
      Dim dt As System.IO.Stream = Await client.GetStreamAsync(url)
      Dim sr0 As New System.IO.StreamReader(dt, System.Text.Encoding.UTF8)
      str = sr0.ReadToEnd()
      dt.Close()
End Using

Я изменился таким образом, но все еще сталкиваюсь с двумя синтаксическими ошибками, когда я вызываю функцию.

1: Await-> BC37058 «Await» можно использовать только в методе Asyn c. Попробуйте пометить этот метод модификатором «Asyn c» и изменить его тип возвращаемого значения на «Task».

2: AccessTheWebAsyn c -> Ожидается конец оператора

    Dim content As String = Await AccessTheWebAsync(jsonObj("access_token"))
End Sub

Async Function AccessTheWebAsync(ByVal jsonObj As Object) As Threading.Tasks.Task
        url = "https://webapi.XXXXXXXXX.XXXXX.com/getuserno?employeeid=" & txtID.Text
        Dim str As String
        Using client = New Http.HttpClient()

            client.DefaultRequestHeaders.Add("XXX-Api-Access-Token", jsonObj("access_token"))
            client.Timeout = TimeSpan.FromSeconds(10.0)

            Dim dt As System.IO.Stream = Await client.GetStreamAsync(url) 
            Dim sr0 As New System.IO.StreamReader(dt, System.Text.Encoding.UTF8)
            str = sr0.ReadToEnd()
            dt.Close()

        End Using
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...