我尝试访问Google云端硬盘API,我可以使用Google+ API成功登录用户。我一直在关注本指南:
https://developers.google.com/drive/v3/web/quickstart/dotnet
我使用nuget包管理器添加了所需的库,但仍无法找到GoogleWebAuthorizationBroker类。奇怪的是,当我将相同的Google.Apis.Auth软件包版本1.18.0添加到一个简单的控制台应用程序时,它可以完美地工作,但当我将它添加到我的.NET Core 1.0预览2项目时,它只是赢得了#39;认识到上述课程。
我的控制台应用程序源代码和引用(这个类可以在这里找到):
提前致谢!
答案 0 :(得分:2)
您的控制台应用程序正在完整的.net框架上运行。这就是GoogleWebAuthorizationBroker在那里得到解决的原因。
我遇到了与Google.Apis对抗.net核心相同的问题,我最终在完整的.net框架之上运行了asp.net Core项目。当Google组件工作时,我计划将框架切换回.net核心。
我用461框架替换了dotnet框架,如下所示:
"frameworks": {
"net461": {}
}
我还必须注释/删除对Microsoft.NETCore.App的依赖,如下所示:
"dependencies": {
"Google.Apis": "1.19.0",
"Google.Apis.Auth": "1.19.0",
"Google.Apis.Calendar.v3": "1.19.0.675"
//"Microsoft.NETCore.App": "1.1.0-preview1-001100-00",
},
您也可以针对这两个框架运行 - 我尝试过这样做,当您发布网站时
DOTNET PUBLISH -f 461
或
DOTNET PUBLISH -f netcoreapp1.0
取决于框架。 然后,您还必须从visual studio中的下拉列表中选择您运行的框架,这最终会成为一个问题。更容易在不需要时注释掉dotnetcore1.0框架,只需在我的构建管道上发布dotnet发布......
Google .net apis github页面上有一个关于.net核心兼容性的帖子。 https://github.com/google/google-api-dotnet-client/issues/872#issuecomment-259710682
预计2017年初将对这些课程提供支持。
希望对你有所帮助吗?