Xamarin.Forms WebAuthenticator 和 Google

Xamarin.Forms WebAuthenticator and Google

我一直在尝试从 Xamarin.Forms 的 google 用户那里检索 Google 日历信息。

我使用 Xamarin.Auth 开始我的旅程,但我无法解决登录后 Android 应用程序中的 CustomTab 无法关闭的问题。似乎多年来一直是一个持续存在的问题,一些人提出了黑客来解决这个问题。此时我放弃了Xamarin.Auth

所以我尝试使用Xamarin.Forms Web Authenticator 来检索日历信息。该文档没有提到如何使用 Google 进行身份验证,所以我尝试了这个

var authResult = await WebAuthenticator.AuthenticateAsync(
                new Uri("https://accounts.google.com/o/oauth2/auth"), // auth url
                new Uri("packageNameOfMyApp://");        // redirect url

我收到无效请求错误

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

无法将 WebAuthenticator 与 Google 一起使用。 Google 需要网络浏览器进行身份验证,不允许您的应用自行进行身份验证。出于同样的原因,您在应用程序中使用 WebView 导航到 Google 身份验证站点的方法将失败

不确定您是否仍在寻找解决方案,但这个视频 https://www.youtube.com/watch?v=g8oh-dvfW1k&ab_channel=XamarinGuy 给了我一些可靠的信息。