未捕获的TypeError:无法读取属性' getAuthInstance'在signOut

时间:2017-03-30 18:24:58

标签: javascript runtime-error google-login

我正在我的asp.net网络应用中集成Google登录。登录选项运行良好,但在抛出上述错误时退出。

参考实施链接:https://developers.google.com/identity/sign-in/web/sign-in

有没有人遇到过同样的问题或对此有解决方法?

1 个答案:

答案 0 :(得分:0)

来自here的答案

登录和签出是否在同一页面上使用? Div g-signin2会加载并初始化gapi.auth2,因此只要它们在同一页面上就可以正常工作。

如果signOut在单独的页面上,则应手动加载并初始化gapi.auth2库。

完整示例(您必须用实际的client_id替换YOUR_CLIENT_ID):

<html>
<head>
   <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
</head>
<body>
  <script>
    function signOut() {
      var auth2 = gapi.auth2.getAuthInstance();
      auth2.signOut().then(function () {
        console.log('User signed out.');
      });
    }

    function onLoad() {
      gapi.load('auth2', function() {
        gapi.auth2.init();
      });
    }
  </script>
  <a href="#" onclick="signOut();">Sign out</a>

  <script src="https://apis.google.com/js/platform.js?onload=onLoad" async defer></script>
</body>
</html>