就我而言:
The callback function was inside the body tag
。
如果回调函数在body标签中则不起作用,请将其移动到head标签中。
您应该在 head 标签中添加 platform.js 脚本
<html>
<head>
<meta name="google-signin-client_id" content="MY_CLIENT_ID.apps.googleusercontent.com" />
<script src="https://apis.google.com/js/platform.js" async defer> </script>
</head>
<body>
<div class="g-signin2" data-onsuccess="onSignIn"></div>
<script type="text/javascript">
function onSignIn(googleUser) {
console.log("Succesfully Singed in!!!");
}
</script>
</body>
</html>
检查开发者控制台并查看授权重定向URI是否指向您正在运行JavaScript的源?
在我的例子中,成功事件没有触发,因为我试图从页面上包含的外部 js 文件连接一个函数。由于某种原因,只有当连接的函数出现在同一页面上时,回调才会起作用。
以前从未见过这样的事情。我想知道他们如何检查这一点。
现在回答已经太晚了,但我想有人会需要这个:
在主体中定义函数后,唯一修复它的是设置
window.onSignIn = onSignIn
function onSignIn(googleUser) {
...
}
window.onSignIn = onSignIn // <-- this was necessary