Клиент Google GSI не работает с пустым экраном

Я использовал приведенный ниже скрипт и получил кнопку «Войти в Google», которая просто ведет в пустое окно.

<!DOCTYPE html>
<html>
  <body>
      <script src = "https://accounts.google.com/gsi/client" async defer></script>
      <script>
        function handleCredentialResponse(response) {
          console.info("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, но теперь это внезапно не работает. Прошлой ночью это работало, но сейчас я вернулся домой и бум, теперь не работает. Если бы кто-нибудь мог это исправить, было бы здорово. Спасибо!

Можете ли вы опубликовать полный скрипт, репозиторий или скрипт js, чтобы мы могли воспроизвести проблему?

Drew Gallagher 15.01.2023 02:30

Я только что сделал, вы можете взглянуть на это еще раз? CSS файл по умолчанию.

StarrySkies 15.01.2023 02:32

подтвердите, что вы добавили сюда свой идентификатор клиента YOUR_GOOGLE_CLIENT_ID?

Linda Lawton - DaImTo 15.01.2023 07:55
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
88
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я предполагаю, что вы специально не указали идентификатор клиента из соображений безопасности, но когда я открываю консоль разработчика, он говорит, что нужно исправить ваш идентификатор клиента.

Также вам, возможно, придется включить политику CORS локально, чтобы заставить ее работать. Вы можете запустить его на веб-сервере, который включает это, например, 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

Я все еще получаю сообщение «Данный источник не разрешен для данного идентификатора клиента». с моим идентификатором клиента. Означает ли это, что мой идентификатор клиента недействителен?

StarrySkies 15.01.2023 03:01

@StarrySkies Я обновил ответ выше, чтобы помочь вам настроить происхождение локально, попробуйте это

Drew Gallagher 15.01.2023 03:02

Это все еще не работает для меня, если это проблема с кодом, вы можете это исправить? Если это проблема с моим идентификатором клиента, есть ли другой ответ на то, что я пытаюсь создать? Я не думаю, что понимаю, как его создать, и мой существующий идентификатор клиента не работает. Спасибо.

StarrySkies 15.01.2023 03:28

Должен ли я ждать подтверждения моего идентификатора клиента?

StarrySkies 15.01.2023 03:46

Потенциально, я не являюсь экспертом в этом, однако, если вы ждете проверки идентификатора, он может быть непригоден для использования до тех пор.

Drew Gallagher 15.01.2023 04:06

У вас есть код, который не требует идентификатора? Я получил «Доступ заблокирован: запрос этого приложения недействителен» даже после его проверки.

StarrySkies 15.01.2023 04:47

Ваш проект в консоли разработчика Google не нужно проверять, пока вы не будете готовы выпустить свое приложение. Для Gmail Scope это более длительный процесс, который потребует от вас отправки видео о работе вашего приложения. Так что исправьте свой идентификатор клиента, пока не беспокойтесь о проверке

Linda Lawton - DaImTo 15.01.2023 07:53

Другие вопросы по теме