如何将 Google GSI 与 Kotlin/JS 集成

问题描述 投票:0回答:1

我正在尝试在 Kotlin/Js 项目中实现 Google 的点击登录。

是否有类似库的 kotlin-wrapper 可供在 Kotlin/Js 项目中使用 https://accounts.google.com/gsi/client

或者有关于如何做到这一点的任何参考吗?

我试过这个-

在我的 index.html 中,根据 gsi 文档

<script src="https://accounts.google.com/gsi/client" async defer></script>

在 kotlin/Js 中反应应用程序

val google: dynamic = window.asDynamic().google

val SignIn =
    FC<Props> {    
        useEffect {      
            google.accounts.id.initialize()
    }
 }

但是我在浏览器上收到这个错误

意外的应用程序错误!

无法读取未定义的属性(读取“帐户”)

kotlin google-signin kotlin-multiplatform kotlin-js
1个回答
0
投票

问题是您在未加载谷歌客户端脚本时立即尝试访问

window.google
async
defer
属性确保脚本将在文档被解析后异步加载。所以当这条线

val google: dynamic = window.asDynamic().google

正在执行,它总是

null
.

我建议你改成这一行:

val google: dynamic get() = window.asDynamic().google

在这种情况下,您将按需访问

window.google

© www.soinside.com 2019 - 2024. All rights reserved.