javascript Google GSI客户端无法在空白屏幕上工作

rsl1atfo  于 2023-01-16  发布在  Java
关注(0)|答案(1)|浏览(155)

我使用了下面的脚本,得到了一个“登录谷歌”按钮,只是导致进入一个空窗口。

<!DOCTYPE html>
<html>
  <body>
      <script src="https://accounts.google.com/gsi/client" async defer></script>
      <script>
        function handleCredentialResponse(response) {
          console.log("Encoded JWT ID token: " + response.credential);
        }
        window.onload = function () {
          google.accounts.id.initialize({
            client_id: "YOUR_GOOGLE_CLIENT_ID",
            callback: handleCredentialResponse
          });
          google.accounts.id.renderButton(
            document.getElementById("buttonDiv"),
            { theme: "outline", size: "large" }  // customization attributes
          );
          google.accounts.id.prompt(); // also display the One Tap dialog
        }
    </script>
    <div id="buttonDiv"></div> 
  </body>
</html>

这通常会导致经典的gmail登录,但现在它突然不工作了。昨晚它工作了,但现在,我回到我家,轰,现在不工作了。如果有人能解决这个问题,这将是伟大的。谢谢!

tag5nh1u

tag5nh1u1#

我假设你出于安全原因故意遗漏了客户端ID,但是当我打开开发者控制台时,它说要修复你的客户端ID。
此外,您可能必须在本地启用CORS策略才能使其工作。您可以在启用此策略的Web服务器上运行它,如XAMPP。
您可以按照以下文档中的说明尝试修复此问题:

Key Point: Add both http://localhost and http://localhost:<port_number> to the Authorized JavaScript origins box for local tests or development.

https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid

相关问题