c# - 需要通过 IIS 应用程序访问 Google Drive V3 - 不使用 MVC
问题描述
我的需求非常具体。我需要访问 Google Drive 上的一个共享文件夹目录。其中唯一的内容是空的表单文档和电子表格模板。文件夹中没有任何有价值的东西,它只在内部使用。所以,我可以非常看好WRT的安全担忧。我只需要访问。
我正在扩展作为 IIS 应用程序运行的现有 ERP 系统。我的定制是扩展 ERP 的 .NET 类的 .NET/C# 项目。我无法实施登录/身份验证系统,因为 ERP 已经存在一个。
我做了 .NET 快速入门,但那当然是一个控制台应用程序,当我将它移到 IIS 时将无法工作。遵循标准 MVC 模型的建议对我不起作用——添加第二个网站/页面对于我的需要来说是不必要的复杂。
我的问题是:我如何授权访问 Google Drive
A) 在 IIS 中运行 B) 不需要单独的 ASP Web 应用程序来实现 MVC 进行授权。
==============================
与以下问题类似: Google API 在将其托管到 IIS 后失败
解决方案
您可以在您的 asp.net 应用程序中使用 OAuth 授权:
创建 Web 服务器 client_secret.json.by 使用 GetAuthorizationUrl() 创建 url 以获取临时令牌。重定向到 GoogleCallback() 并使用 ExchangeAuthorizationCode() 获取刷新和访问令牌。将它们保存到文件“~/Resources/driveApiCredentials/drive- credentials.json/Google.Apis.Auth.OAuth2.Responses.TokenResponse-{account}"。使用这个保存的令牌。
您可以参考以下链接了解更多详情:
https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#web-applications-aspnet-mvc
推荐阅读
- opencv - 将 OpenCV/CMake 与 Clion 一起使用
- sql - 如何找出哪些 SQL 查询以编程方式利用了某个数据库中的表?
- react-native - 如何从 react-native-vector-icons 中删除不必要的字体?
- timestamp - 在众多文件中获取最新文件,然后重命名最新文件名,保留前 33 个字符
- javascript - 如何使用javascript在div标签中显示for循环的每个变量?
- javascript - Firebase 云功能的内部错误
- c# - 您可以将 ModelBinding 与 GET 请求一起使用吗?
- c# - 多条路线相同的动作.NET Core 3.1
- c# - SignalR 防止网关超时
- mysql - 外键多表可能性