ответ: неавторизован в Swagger через RestSharp - PullRequest
0 голосов
/ 01 июля 2019

Мне нужно использовать API от Swagger, который отправляет электронную почту, но у меня возникла проблема с авторизацией. Я прошел токен, но результат все еще не авторизован.

Я использую код ниже.

   `Dim url = "test123/test.com" (can't include the actual)
    Dim apiKey = "12312"
    Dim apiPassword = "12312"
    Dim client = New RestClient(url)
    Dim request = New RestRequest("token", Method.POST)
    request.Parameters.Clear()
    request.AddParameter("grant_type", "password")
    request.AddParameter("username", apiKey)
    request.AddParameter("password", apiPassword)
    Dim response As IRestResponse = client.Execute(request)
    _pristrKey = response.Content
    Return JsonConvert.DeserializeObject(response.Content)`

Теперь у меня есть токен в _pristrKey

Затем я делаю это для отправки электронной почты.

   `Dim url = "test123/test.com"
    Dim client = New RestClient(url)
    Dim request = New RestRequest("api/email", Method.POST)
    request.Parameters.Clear()
    request.AddHeader("accept", "application/json")
    request.AddParameter("Authorization", String.Format($"Bearer " + 
    _pristrKey), ParameterType.HttpHeader)
    request.AddHeader("Content-Type", "application/json")
    Dim apiInput = New With {Key .bulkId = "123", Key .from = 
    "test123@gmail.com", Key .subject = "Test", Key .text = "Test123", Key 
    .to = "test321@gmail.com"}
    request.AddParameter("application/json", 
    JsonConvert.SerializeObject(apiInput), ParameterType.RequestBody)
    request.RequestFormat = DataFormat.Json
    Dim response As IRestResponse = client.Execute(request)`

Фактический вывод: response = "StatusCode: Unauthorized, Content-Type: , Content-Length: 0)"

...