【发布时间】:2021-05-14 05:05:55
【问题描述】:
我正在使用 C#。我成功获得了授权码,但我不知道如何获得访问令牌。我更喜欢Google website。但是,我不知道如何在 C#(ASP.net) 中应用它。
【问题讨论】:
-
当我点击您提供的链接时,我会收到 there 和 there。还有一些documentation from .NET available
标签: c# asp.net google-api oauth-2.0
我正在使用 C#。我成功获得了授权码,但我不知道如何获得访问令牌。我更喜欢Google website。但是,我不知道如何在 C#(ASP.net) 中应用它。
【问题讨论】:
标签: c# asp.net google-api oauth-2.0
我已成功使用 dotnetopenauth 库(在 SO 中使用它)来访问 Google 的服务。我建议不要使用自己的令牌管理器,而是使用现有的令牌管理器并将其扩展到您的需求。
【讨论】:
Google Drive SDK 包含一个完整的 ASP.NET MVC 示例,您可以将其用作参考:
【讨论】:
像这样尝试。
String client_id = "<OAUTH_client_id >";
String client_secret = "<OAUTH_client_secret>";
var BaseAddress = "https://adddress.com";
var httpClient = new HttpClient() { BaseAddress = new Uri(BaseAddress) };
var creds = $"client_id={client_id}&client_secret{client_secret}&grant_type=client_credentials";
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));
var content = new StringContent(creds, Encoding.UTF8, "application/x-www-form-urlencoded");
var response = httpClient.PostAsync("/oauth2/token", content).Result;
var jsonContent = response.Content.ReadAsStringAsync().Result;
var tokenObj = JsonConvert.DeserializeObject<BearerViewModel>(jsonContent);
var token = tokenObj.access_token;
【讨论】: