0

将Google apis与OAuth 2.0结合使用,Google建议您在桌面应用程序中使用HttpListener,并在文档中注明您可能遇到的防火墙问题。这是如何在代码(GoogleWebAuthorizationBroker.AuthorizeAsync)中实现的,以及可能出现的问题。例如管理员权限,防火墙问题 - 如果我使用他们的客户端库,我会遇到这些问题吗?Google api oauth桌面.net库

回答

1

完整.NET框架(桌面)的本地代码接收器侦听器从LocalServerCodeReceiver.cs line 374开始。

在库的v1.26 +中,它在一个随机未使用的非特权端口上监听http://127.0.0.1; see line 47

不应该导致用户权限或防火墙的任何问题。然而,不知道你的机器如何配置意味着我不能完全确定这一点。

+0

你能列出任何会导致用户权限或防火墙出现问题的情况吗? –

+0

这是否在Windows 8.1中工作?似乎微软已经授权在Win10中使用127.0.0.1,但不是8.1 –

+0

您的意思是Windows 8.1应用程序?也就是说,针对win81 TFM?或者恰好在Windows 8上运行的桌面.NET应用程序?我不太了解Windows的权限,但如果它是桌面应用程序,并且用户不允许使用127.0.0.1,那么我预计这不能也不行。我想不出一个即时的解决方法。您可以使用[PromptCodeReceiver.cs](https://github.com/google/google-api-dotnet-client/blob/master/Src/Support/Google.Apis.Auth/OAuth2/PromptCodeReceiver.cs)等内容,但它有点粗俗。 – Chris