检测网站用户是否已登录Google?

15

假设我只想在用户访问我的网站时,当他拥有有效的Google帐户并已登录到该帐户时才显示特定内容。

有没有办法用Javascript实现这个功能?我知道Facebook API提供了一些方法来告诉用户状态(已登录Facebook),我相信我也看过使用Google帐户的网站,但在Google中搜索相关术语时却找不到结果,因为搜索词汇太宽泛。

非常感谢任何帮助。


因为我只想在用户登录到Google时显示链接。 - Cristiano Paris
2个回答

11

这篇博客声称已经通过检查与 G+ / twitter / 等社交平台提供的图像返回值来实现此功能。

http://www.tomanthony.co.uk/blog/detect-visitor-social-networks/

<img style="display:none;"
onload="show_login_status('Google', true)"
onerror="show_login_status('Google', false)"
src="https://accounts.google.com/CheckCookie?continue=https%3A%2F%2Fwww.google.com%2Fintl%2Fen%2Fimages%2Flogos%2Faccounts_logo.png&followup=https%3A%2F%2Fwww.google.com%2Fintl%2Fen%2Fimages%2Flogos%2Faccounts_logo.png&chtml=LoginDoneHtml&checkedDomains=youtube&checkConnection=youtube%3A291%3A1"
/>

我最近检查了那个链接...似乎Twitter的检查功能不起作用了... - Craig Wayne
这似乎在2021年使用Firefox 94.0时无法工作。 - A_A

4
<script type="text/javascript">
function show_login_status(network, status){

    if(status == false){
        alert('NOT LOGGED IN');
    }
    if(status == true){
        alert('Logged In');
    }


}


</script>

<img style="display:none;"
onload="show_login_status('Google', true)"
onerror="show_login_status('Google', false)"
src="https://accounts.google.com/CheckCookie?continue=https%3A%2F%2Fwww.google.com%2Fintl%2Fen%2Fimages%2Flogos%2Faccounts_logo.png&followup=https%3A%2F%2Fwww.google.com%2Fintl%2Fen%2Fimages%2Flogos%2Faccounts_logo.png&chtml=LoginDoneHtml&checkedDomains=youtube&checkConnection=youtube%3A291%3A1"
/>

这将有效。


对我不起作用 - 显示未登录,但我已经登录了。 - Don't Panic
刚在我的电脑上测试过,还是像魔法一样顺利。不确定会有什么区别。 - Jesse Kemper
我尝试访问我的Google账户页面,发现Google要求我进行手机验证等。确认完毕后,这个测试现在可以运行!显然,如果出现那种账户验证检查,它会失败,我会定期遇到这些检查。 - Don't Panic
是的,我想这肯定与那有关。很高兴你找到了答案。 - Jesse Kemper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接