Google 服务器端登录

Google sign-in for server-side

我遵循了 tutorial by google 但我遇到了问题。永远不会调用回调函数。 本地主机中的代码是 运行 这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script src="https://apis.google.com/js/client:platform.js?onload=start" async defer></script>
    <script>
        function start() {
            gapi.load('auth2', function() {
                auth2 = gapi.auth2.init({
                    client_id: '<my-client-id>',
                    scopes: ['https://www.googleapis.com/auth/calendar']
                });
            });
        }
        function signInCallback(authResult) {
            document.write("here");
            if (authResult['code']) {
                document.write("code is good");
            } else {
                document.write("error");
            }
        }
    </script>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<button id="signinButton">Sign in with Google</button>
<div id="result"></div>
<script>
    $('#signinButton').click(function() {
        auth2.grantOfflineAccess({'redirect_uri': 'postmessage'}).then(signInCallback);
    });
</script>
</body>
</html>

在教程中有提到,但是我没有得到我在回调函数中输入的document.write。 另外,登录成功后有没有办法获取用户的用户名?

看起来不错。确保已将 http://localhost:8080 分配给 Developers Console 中的 JavaScript Origins,并删除了 Redirect URL

一旦你开始工作,你需要做的就是获得 userProfile 是以下请求:

var request = gapi.client.plus.people.get({
   'userId': 'me'
 });
 request.execute(function(resp) {
   console.log('Retrieved profile for:' + resp.displayName);
 });