1

我想在我的网站www.bendali.co.za添加一个 Google + 登录/注册按钮。我已经输入了这段代码:

    <!-- Place this asynchronous JavaScript just before your </body> tag -->
    <script type="text/javascript">

      (function() {
       var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
       po.src = 'https://apis.google.com/js/client:plusone.js';
       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
     })();


function signinCallback(authResult) {
  if (authResult['access_token']) {
    // Successfully authorized
    // Hide the sign-in button now that the user is authorized, for example:
    document.getElementById('signinButton').setAttribute('style', 'display: none');
  } else if (authResult['error']) {
    // There was an error.
    // Possible error codes:
    //   "access_denied" - User denied access to your app
    //   "immediate_failed" - Could not automatically log in the user
    // console.log('There was an error: ' + authResult['error']);
  }
}


    </script>

<span id="signinButton">
  <span
    class="g-signin"
    data-callback="signinCallback"
    data-clientid="712370252357.apps.googleusercontent.com"
    data-cookiepolicy="single_host_origin"
    data-requestvisibleactions="http://schemas.google.com/AddActivity"
    data-scope="https://www.googleapis.com/auth/plus.login">

</span>
</span>

我是从https://developers.google.com/+/web/signin/获取的。但是当我按下它时,它会给我对话框和所有内容,我接受它并且按钮消失(所有这些都是正常的)。但它不会让我登录或任何东西。我将如何让它做到这一点?

提前致谢。

4

1 回答 1

1

我没有看到您的代码有任何问题,并且在我的机器上进行的快速测试表明它可以正常工作。

您可以通过打开 Web 浏览器的 JavaScript 控制台并尝试获取当前会话的访问令牌来测试您是否已登录。以下功能:

gapi.auth.getToken();

如果您未登录,将返回null并且类似以下内容:

Object {state: "", access_token: "ya29.lkjasdlkjasd....", token_type: "Bearer", expires_in: "3600", code: "4/.....wo8WbjRKPN4WMqTmHjyTFGPeKJnufgI"…}

如果您已登录。控制台还应该为您提供有关阻止登录代码工作的任何错误的更多信息。

如果您想做一些更复杂的事情,例如让用户登录您的网站,您应该从Google+ 快速入门开始,了解如何将您的服务器与授权用户连接起来,然后查看 Photohunt以获得更多信息综合网站示例。

于 2013-06-24T18:19:50.923 回答