Я пытаюсь сделать запрос API, используя C# класс HttpClient.
Мне удалось получить ответ OK на запрос API, но теперь я хочу обработать этот ответ, чтобы получить пользователя info.
Это мой код:
private async void GetRefreshToken()
{
using (var httpClient = new HttpClient())
{
using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://www.strava.com/oauth/token"))
{
var multipartContent = new MultipartFormDataContent();
multipartContent.Add(new StringContent(CONSTANTS.CLIENT_ID), "client_id");
multipartContent.Add(new StringContent(CONSTANTS.CLIENT_SECRET), "client_secret");
multipartContent.Add(new StringContent(userCtrl.StravaAuthToken), "code");
multipartContent.Add(new StringContent(""), "grant_type");
request.Content = multipartContent;
var response = await httpClient.SendAsync(request);
}
}
}
Переменная отклика, обработанная для строки, возвращает следующее:
StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
Transfer-Encoding: chunked
Connection: keep-alive
X-Download-Options: noopen
Status: 200 OK
X-Request-Id: d9fc7423-4d6b-2342-9d3a-614fd583e008
Referrer-Policy: strict-origin-when-cross-origin
X-FRAME-OPTIONS: DENY
X-Content-Type-Options: nosniff
X-Permitted-Cross-Domain-Policies: none
Vary: Origin
X-XSS-Protection: 1; mode=block
Cache-Control: must-revalidate, max-age=0, private
Date: Mon, 13 Apr 2020 11:08:57 GMT
ETag: W/"01b8306a9b65e970f36bacbec682342f9"
Via: 1.1 linkerd
Content-Type: application/json; charset=utf-8
}
Но, как я проверял в Postman, содержимое из ответ API должен выглядеть следующим образом. Я хочу получить refre sh и токены доступа:
{
"token_type": "Bearer",
"expires_at": 1586793993,
"expires_in": 18150,
"refresh_token": "a6a5s7d5as8dasdad75a7d5757a5d7asd67576ae",
"access_token": "a9sdas87da9s8d7asd9a7s9d7as9d7as7d97asd7",
"athlete": {
"id": 878960,
"username": "username",
"resource_state": 2,
"firstname": "Name",
"lastname": "Lastname",
"city": null,
"state": null,
"country": null,
"sex": "M",
"premium": false,
"summit": false,
"created_at": "2019-08-01T14:53:11Z",
"updated_at": "2019-08-01T14:54:00Z",
"badge_type_id": 0,
"profile_medium": "https://lh3.googleusercontent.com/a-/AOh14dfgdfg233WZ_rdRmLMbLnqKKoytbxH-UBm",
"profile": "https://lh3.googleusercontent.com/a-/AOh14GhrEsdfgs3WZ_rdRmLMbLnqKKoytbxH-UBm",
"friend": null,
"follower": null
}
}
Я думаю, что с моим кодом я получаю статус только из запроса API, но не это содержание. Если да, как я могу получить контент из запроса API и проанализировать его в формате json?
Спасибо, я на 100% новичок в мире API, поэтому, пожалуйста, дайте простые объяснения: D
Спасибо!