我需要使用Swagger的API发送电子邮件,但是我在传递令牌时遇到了授权问题,但结果仍然是未授权。
我使用下面的代码。
`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)"
答案 0 :(得分:1)
发生此错误是因为您的令牌无效,如果正确,请检查您的令牌,还检查令牌中是否有额外的双引号(“)。我在vb.net中遇到此问题,只需使用:
.Replace("""", "").Trim()