使用 WebClient 而不是 HttpClient



我有两个4.0和4.5版本的项目,我想对它们都使用以下函数,但不幸的是,HttpClient仅适用于4.5

public async Task<SlackTest> GetAccessToken(string clientId, string clientSecret, string code)
{
using (var client = new HttpClient())
{
string url = ApiUrl + "/oauth.access?client_id=" + clientId + "&client_secret=" + clientSecret + "&code=" + code;
HttpResponseMessage response = await client.GetAsync(url);
string content = await response.Content.ReadAsStringAsync();
SlackTest slackTest = JsonConvert.DeserializeObject<SlackTest>(content);
string accessToken = slackTest.AccessToken;
string urlUserIdentity = "https://slack.com/api/users.identity?token=" + accessToken;
var responseUser = await client.GetAsync(urlUserIdentity);
string contentUserIdentity = await responseUser.Content.ReadAsStringAsync();
SlackTest2 slack = JsonConvert.DeserializeObject<SlackTest2>(contentUserIdentity);             System.IO.File.WriteAllText(@"C:UsersSrishtiDesktopAccessTokenSlack.txt", accessToken);
return slackTest;
}
}

所以现在我需要使用我从未使用过的WebClient做同样的事情。有人可以帮助我解决这个问题,并可能就如何做到这一点先机。

我开始如下:

string url = ApiUrl + "/oauth.access?client_id=" + clientId + "&client_secret=" + clientSecret + "&code=" + code;
var response = await client.DownloadDataAsync(url);

但是智能感知并没有给我使用DownloadDataTaskAsync的选项。 我们可以不将 Web 客户端与任务和等待一起使用吗?

你不能使用 httpclient,因为你缺少 nugget 包

https://www.nuget.org/packages/Microsoft.Net.Http/

相关内容

  • 没有找到相关文章

最新更新