我正在尝试按照 this link 创建一个谷歌登录按钮。到目前为止,帐户选择对话框即将到来,但之后我在控制台中看不到任何结果。相反,我在页面加载时收到此错误,
"idpiframe_initialization_failed", details: "Not a valid origin for the client: http://localhos…itelist this origin for your project's client ID."
details: "Not a valid origin for the client: http://localhost has not been whitelisted for client ID 386404527657-q4ss06np5g27dllq5ds7aif42udkh7e5.apps.googleusercontent.com. Please go to https://console.developers.google.com/ and whitelist this origin for your project's client ID."
以下是代码,
<html lang="en">
<head>
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
<script src="https://apis.google.com/js/platform.js" async defer></script>
</head>
<body>
<div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"</div>
<script>
function onSignIn(googleUser) {
// Useful data for your client-side scripts:
var profile = googleUser.getBasicProfile();
console.log("ID: " + profile.getId()); // Don't send this directly to your server!
console.log('Full Name: ' + profile.getName());
console.log('Given Name: ' + profile.getGivenName());
console.log('Family Name: ' + profile.getFamilyName());
console.log("Image URL: " + profile.getImageUrl());
console.log("Email: " + profile.getEmail());
// The ID token you need to pass to your backend:
var id_token = googleUser.getAuthResponse().id_token;
console.log("ID Token: " + id_token);
};
</script>
</body>
</html>
我真的需要修复此问题并在我的控制台中获取结果。我不知道接下来要做什么来解决这个问题。需要帮助,谢谢!
答案 0 :(得分:19)
答案 1 :(得分:5)
对我而言,必须取消选中“设置”>“站点设置”>“ Cookie”>“阻止的第三方Cookie”。
答案 2 :(得分:4)
只需清除缓存或以隐身模式打开URL。它:)。 您的问题将得到解决。
答案 3 :(得分:2)
我在多个提供Google登录功能的网站上遇到了此错误。 我必须在网站的“显示Cookie和其他网站数据”中“允许” accounts.google.com Cookie,以使其正常工作(重新加载页面后)。
可能是阻止浏览器中的第三方Cookie的原因是答案 4 :(得分:1)
对我有用的解决方案是将该应用程序的Google Developer Console API中的来源列入白名单。
答案 5 :(得分:0)
文档说不要忽略两个关键步骤(“在阅读说明时,请不要忽略这两个关键步骤,这一点很重要:启用Analytics API这对我有用: