Javascript 谷歌登录时未触发回调 函数onSignIn(谷歌用户){ console.log(“成功烧焦!!!”; }
通过上面的内容,我可以看到一个谷歌登录按钮,打开一个弹出窗口,接受凭证并让我登录。但是我希望登录成功时会触发onSignIn方法,但这不会发生。 有人对此有什么建议吗Javascript 谷歌登录时未触发回调 函数onSignIn(谷歌用户){ console.log(“成功烧焦!!!”; },javascript,google-signin,google-authentication,google-api-js-client,Javascript,Google Signin,Google Authentication,Google Api Js Client,通过上面的内容,我可以看到一个谷歌登录按钮,打开一个弹出窗口,接受凭证并让我登录。但是我希望登录成功时会触发onSignIn方法,但这不会发生。 有人对此有什么建议吗 使用safari、chrome和firefox浏览器在osx上的apache服务器上试用了它检查授权重定向URI是否指向运行JavaScript的源?您应该在head标记中添加platform.js脚本 <html> <head> <meta name="google-signin-clien
使用safari、chrome和firefox浏览器在osx上的apache服务器上试用了它检查授权重定向URI是否指向运行JavaScript的源?您应该在head标记中添加platform.js脚本
<html>
<head>
<meta name="google-signin-client_id" content="MY_CLIENT_ID.apps.googleusercontent.com" />
</head>
<body>
<div class="g-signin2" data-onsuccess="onSignIn"></div>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<script type="text/javascript">
function onSignIn(googleUser) {
console.log("Succesfully Singed in!!!");
}
</script>
</body>
</html>
函数onSignIn(谷歌用户){
console.log(“成功烧焦!!!”;
}
在我的例子中,成功事件没有触发,因为我试图从页面上包含的外部js文件连接函数。出于某种原因,只有当连接的函数出现在同一页上时,回调才会起作用
以前从没见过这样的事。我想知道他们是如何检查的。在我的例子中:
回调函数在body标签中
回调函数不工作如果它在body标记中,请将其移动到head标记
现在回答这个问题已经很晚了,但我想有人需要这个:
- 记住在谷歌控制台添加源URI
- 如果在终端上看不到onSignIn的任何内容,请在浏览器的控制台上进行检查
第一个脚本标记格式不正确。您在控制台上看到任何错误吗?没有错误。甚至onfailure等方法也不会被触发。我应该包括除platform.js之外的任何API吗?你包括了吗?你有没有可能找到答案?我看到了一个非常类似的问题。如果我第一次与用户登录,onSignIn不会被调用。但是,当我注销该用户并使用完全相同的用户登录时,它会被调用。否。我没有设置任何重定向URL。这有关系吗?指南上说它可以是空的。如果您指定localhost,您可能需要检查“授权的JavaScript源代码”,您还需要指定一个端口。示例:重定向uri是可选的,但源代码是必需的。在我的情况下,这样做的原因是浏览器扩展Adblock/Ghostery。我需要禁用它才能得到响应。我必须禁用隐私獾。
<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>