private async Task <string> DetectIntent(string inputAudio) { InputAudioConfig audioConfig = ConfigureAudioInput(); OutputAudioConfig outputConfig = ConfigureAudioOutput(); QueryInput queryInput = new QueryInput() { AudioConfig = audioConfig, }; DetectIntentContent detectIntentContent = new DetectIntentContent() { queryInput = queryInput, inputAudio = inputAudio, outputAudioConfig = outputConfig }; JsonSerializerSettings settings = new JsonSerializerSettings(); settings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); string content = JsonConvert.SerializeObject(detectIntentContent, settings); content = content.Replace(",\"inputCase\":1", ""); Uri requestUri = new Uri("https://dialogflow.googleapis.com/v2/projects/mistyapi-pxxkne/agent/sessions/123456:detectIntent"); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, requestUri); request.Content = new StringContent(content, Encoding.UTF8); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _credential.AuthToken); HttpResponseMessage result = await _client.SendAsync(request); string stringResult = await result.Content.ReadAsStringAsync(); OnQueryResultReceived?.Invoke(this, stringResult); return(stringResult); }