Я использовал приведенный ниже скрипт и получил кнопку «Войти в 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, но теперь это внезапно не работает. Прошлой ночью это работало, но сейчас я вернулся домой и бум, теперь не работает. Если бы кто-нибудь мог это исправить, было бы здорово. Спасибо!
Я только что сделал, вы можете взглянуть на это еще раз? CSS файл по умолчанию.
подтвердите, что вы добавили сюда свой идентификатор клиента YOUR_GOOGLE_CLIENT_ID?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я предполагаю, что вы специально не указали идентификатор клиента из соображений безопасности, но когда я открываю консоль разработчика, он говорит, что нужно исправить ваш идентификатор клиента.
Также вам, возможно, придется включить политику 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 Я обновил ответ выше, чтобы помочь вам настроить происхождение локально, попробуйте это
Это все еще не работает для меня, если это проблема с кодом, вы можете это исправить? Если это проблема с моим идентификатором клиента, есть ли другой ответ на то, что я пытаюсь создать? Я не думаю, что понимаю, как его создать, и мой существующий идентификатор клиента не работает. Спасибо.
Должен ли я ждать подтверждения моего идентификатора клиента?
Потенциально, я не являюсь экспертом в этом, однако, если вы ждете проверки идентификатора, он может быть непригоден для использования до тех пор.
У вас есть код, который не требует идентификатора? Я получил «Доступ заблокирован: запрос этого приложения недействителен» даже после его проверки.
Ваш проект в консоли разработчика Google не нужно проверять, пока вы не будете готовы выпустить свое приложение. Для Gmail Scope это более длительный процесс, который потребует от вас отправки видео о работе вашего приложения. Так что исправьте свой идентификатор клиента, пока не беспокойтесь о проверке
Можете ли вы опубликовать полный скрипт, репозиторий или скрипт js, чтобы мы могли воспроизвести проблему?