public async Task <UserResponse> GetUser(string userName) { var accessToken = await _authenticationClient.GetAccessTokenAsync(); _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); _httpClient.DefaultRequestHeaders.Add(ClientId, _twitchApiConfigOptions.Value.ClientId); var httpResponse = await _httpClient.GetAsync(string.Format(GetUserUrl, userName)); if (httpResponse.IsSuccessStatusCode) { var response = await httpResponse.Content.ReadAsStringAsync(); var data = JsonSerializer.Deserialize <TwitchResponse <UserResponse> >(response); return(data.Data.SingleOrDefault()); } throw new Exception($"Status Code : {httpResponse.StatusCode} Reason Phrase : {httpResponse.ReasonPhrase}"); }
public async Task <bool> IsUserAFollower(string userId) { var accessToken = await _authenticationClient.GetAccessTokenAsync(); _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); _httpClient.DefaultRequestHeaders.Add(ClientId, _twitchApiConfigOptions.Value.ClientId); var getFollowerUrl = $"https://api.twitch.tv/helix/users/follows?to_id=32115039&from_id={userId}&first=1"; var httpResponse = await _httpClient.GetAsync(getFollowerUrl); if (httpResponse.IsSuccessStatusCode) { var response = await httpResponse.Content.ReadAsStringAsync(); var followers = JsonSerializer.Deserialize <TwitchResponse <FollowerResponse> >(response); return(followers.Data.SingleOrDefault() != null); } throw new Exception($"Status Code : {httpResponse.StatusCode} Reason Phrase : {httpResponse.ReasonPhrase}"); }