Xamarin.forms 表单WebAuthenticator和Google

Xamarin.forms 表单WebAuthenticator和Google,xamarin.forms,google-authentication,xamarin.essentials,Xamarin.forms,Google Authentication,Xamarin.essentials,我现在一直在尝试从Xamarin.Forms中的Google用户检索Google日历信息 我使用Xamarin.Auth开始了我的旅程,但我无法克服登录后Android应用程序中的CustomTab无法关闭的问题。这似乎已经是一个持续多年的问题了,有几个人提出了解决这个问题的方法。在这一点上,我放弃了Xamarin.Auth 所以我尝试使用Xamarin.Forms来检索日历信息。文档中没有提到如何通过谷歌认证,所以我尝试了这个 var authResult = await WebAuthent

我现在一直在尝试从Xamarin.Forms中的Google用户检索Google日历信息

我使用Xamarin.Auth开始了我的旅程,但我无法克服登录后Android应用程序中的CustomTab无法关闭的问题。这似乎已经是一个持续多年的问题了,有几个人提出了解决这个问题的方法。在这一点上,我放弃了Xamarin.Auth

所以我尝试使用Xamarin.Forms来检索日历信息。文档中没有提到如何通过谷歌认证,所以我尝试了这个

var authResult = await WebAuthenticator.AuthenticateAsync(
                new Uri("https://accounts.google.com/o/oauth2/auth"), // auth url
                new Uri("packageNameOfMyApp://");        // redirect url
我收到一个无效的请求错误

我必须如何选择AuthenticateTasync的第一个参数才能正确地通过Google验证?
我是否必须以某种方式对通过配置应用程序登录后从我的应用程序中获得的ClientId进行编码?

不可能在Google中使用WebAuthenticator。谷歌需要一个网络浏览器来进行身份验证,不允许你的应用自行进行身份验证。出于同样的原因,在应用程序中使用WebView导航到Google认证站点的方法将失败

尝试使用
https://accounts.google.com/o/oauth2/v2/auth
作为第一个参数。我仍然收到相同的错误消息(错误400无效请求)如果我用浏览器点击此端点,则事实上也是如此。问题应该是由重定向url引起的。如果我遵循Web Authenticator文档,重定向url应该是应用程序名称(我假设清单文件中列出的包名称),然后是://我尝试更改此url,但仍然收到相同的错误。我按照文档中的建议实现了WebAuthenticatorCallbackActivity类