public async Task<string> TranslateAsync(string text, string langTo, string langFrom = null)
{
await this.UpdateAccessTokenIfExpired()
.ConfigureAwait(false);
var param = new Dictionary<string, string>
{
["text"] = text,
["to"] = langTo,
};
if (langFrom != null)
param["from"] = langFrom;
var requestUri = new Uri(TranslateEndpoint, "?" + MyCommon.BuildQueryString(param));
using (var request = new HttpRequestMessage(HttpMethod.Get, requestUri))
{
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", this.AccessToken);
using (var response = await this.Http.SendAsync(request).ConfigureAwait(false))
{
return await response.Content.ReadAsStringAsync()
.ConfigureAwait(false);
}
}
}