c# - C# MVC Google OAuth API 2 示例代码不起作用
问题描述
所以我正在创建 ac# mvc 应用程序,并尝试访问一些谷歌 API(即:谷歌分析)。
我跟着他们的教程: https ://developers.google.com/api-client-library/dotnet/guide/aaa_oauth
第一个问题:
public async Task IndexAsync(CancellationToken cancellationToken)
{
var result = await new AuthorizationCodeMvcApp(this, new AppFlowMetadata()).
AuthorizeAsync(cancellationToken);
if (result.Credential != null)
{
var service = new DriveService(new BaseClientService.Initializer
{
HttpClientInitializer = result.Credential,
ApplicationName = "ASP.NET MVC Sample"
});
// YOUR CODE SHOULD BE HERE..
// SAMPLE CODE:
var list = await service.Files.List().ExecuteAsync();
ViewBag.Message = "FILE COUNT IS: " + list.Items.Count();
return View();
}
else
{
return new RedirectResult(result.RedirectUri);
}
}
}
是他们说用于家庭控制器的功能....但是它出错了,因为您不能仅使用任务返回 View(),我将其更改为
Task<ActionResult>
它奏效了。
但最后一个问题是,它无限重定向..我猜是因为如果凭据 = null,它会尝试重定向回来?
此页面无法正常工作 accounts.google.com 将您重定向的次数过多。尝试清除您的 cookie。ERR_TOO_MANY_REDIRECTS
我逐字逐句地复制了示例代码,但我一生都无法弄清楚为什么它没有返回凭据,或者是否有其他问题。
解决方案
推荐阅读
- firebase - 使用 Flutter 在 Firebase 上设置自定义键
- azure-devops - Azure 构建管道 - 需要权限
- java - 使用 java.time.Duration (ISO 8601) 作为输入计算结束日期?
- android - Honor View 10手机上的android自适应启动器图标太大
- xml - 使用 MSXML 验证 XSD 架构时如何获取 *All* 错误
- flutter-web - 使用图像选择器以外的 pub 在 Flutter Web 上上传图像
- python - 查找给定循环的值
- terraform - 如何使用 Terraform 工作区在 aws 和 localstack 之间切换?
- javascript - wordpress 的 javascript 插件上的默认字体
- keras - 我如何在 lstm 中同时使用两个序列