我正在使用 ASP.NET Core WebApi 项目中的Google Drive API v3,但它无法在IIS上运行。 它通过Kestrel服务器上的Visual Studio 2017在本地工作正常。但是,如果我尝试在IIS上进行部署,它就会挂起。
用于列出位于文件夹中的图像文件的代码段:
{{1}}
我知道Google Drive API支持OAuth 2.0 for web spplications(ASP.NET MVC),如下所述: https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth#web-applications-aspnet-mvc
请帮忙。感谢。
答案 0 :(得分:0)
这似乎是我面临的问题。问题是您正在使用的授权代码可能来自为桌面应用程序截取的代码。这就是为什么它可以在本地计算机上运行的原因,但是一旦部署它,一切都会改变。如果尝试从服务器运行的应用程序使用此代码进行授权,它将尝试在该服务器上打开授权窗口并挂起。
一种解决方法是将Google API控制台中的应用程序类型更改为“其他”,但这有点冒险,因为您的用户将使用服务器指定的身份来向Google授权,并且您必须建立另一层安全性来进行过滤要求。
截至目前(2018年8月6日),据我所知,Google不支持.net Core进行Web服务器授权。您可以在Github here上跟踪进度。
如果您愿意使用经典的ASP MVC,则可以毫无问题地使用this代码段。
另外,here是一个类似的线程,如果可以帮助您的话。