如何解决用户已经登录浏览器时从Google登录按钮触发功能
我正在尝试在我的网站上登录Google。
目前,如果您已经登录浏览器,则按钮将显示“已登录”,并且g_login()
函数将触发。
如果您未登录浏览器,则会显示“登录”,然后单击将触发onSignIn()
函数,然后该函数将您登录。在这种情况下,您必须再次单击该按钮触发g_login()
函数。
如果单击了按钮,但如何使g_login()
函数在onSignIn()
函数之后触发,但是如果用户已经登录到浏览器,则在没有用户单击按钮的情况下不会自动触发它们? / p>
function onSignIn(googleUser){
g_profile = googleUser.getBasicProfile();
}
function g_login(){
var user_id = g_profile.getId();
var user_name = g_profile.getName();
var user_email = g_profile.getEmail();
//do stuff
}
<div class="g-signin2" data-onsuccess="onSignIn" onclick="g_login();">
解决方法
您需要使用SignIn()
(不要忘记更新@@CLIENT_ID@@
):
gapi.load('auth2',function() {
auth2 = gapi.auth2.init({
client_id: '@@CLIENT_ID@@',fetch_basic_profile: false,scope: 'profile'
});
// Sign the user in,and then call g_login
auth2.signIn().then(function() {
g_login();
});
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。