首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决本地主机的"idpiframe_initialization_failed“问题?

如何解决本地主机的"idpiframe_initialization_failed“问题?
EN

Stack Overflow用户
提问于 2018-09-27 04:14:39
回答 5查看 23.2K关注 0票数 12

下面是我的初始化代码:

代码语言:javascript
运行
复制
            function HandleGoogleApiLibrary() {
                // Load "client" & "auth2" libraries
                gapi.load('client:auth2', {
                    callback: function () {
                        // Initialize client & auth libraries
                        gapi.client.init({
                            apiKey: 'My API Key',
                            clientId: 'My Client ID',
                            scope: 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.me'
                        }).then(
                            function (success) {
                                console.log("Yaaay");
                            },
                            function (error) {
                                console.log("Nope");
                                console.log(error);
                            }
                        );
                    },
                    onerror: function () {
                        // Failed to load libraries
                    }
                });
            }

这将给出以下错误消息:

代码语言:javascript
运行
复制
details: "Not a valid origin for the client: http://127.0.0.1 has not been whitelisted for client ID 388774754090-o7o913o81ldb2jcfu939cfu36kh9h0q6.apps.googleusercontent.com. Please go to https://console.developers.google.com/ and whitelist this origin for your project's client ID."
error: "idpiframe_initialization_failed"

我的应用程序还没有投入生产,所以为了开发,我使用了localhost。问题是,在每个堆栈溢出/引用中,我发现它们都指定了在Authorised JavaScript originsAuthorised redirect URIs上我必须使用http://localhost而不是http://127.0.0.1。如果我这样做,我会得到那个错误,如果我尝试登录,就会得到一个Permission denied to generate login hint for target domain.

如果在这两种情况下都使用http://127.0.0.1,则在初始化时没有idpiframe_initialization_failed,但在尝试登录时获得相同的拒绝权限。

这是没有意义的,没有其他方法来指定本地主机,我只是不能使用API。

EN

回答 5

Stack Overflow用户

发布于 2018-12-22 20:47:21

就我而言,这是个两面的问题。

  1. 需要添加原点到谷歌控制台。 原点是什么样子?http://localhost
  2. 清除缓存。 这有时不起作用,您可能会开始认为这不是缓存问题。详情如下。

1.如何将您的源添加到google控制台?

  • 到这里来:https://console.cloud.google.com/apis/credentials
  • 在顶部选择一个您需要的项目。
  • 查找OAuth 2.0 client IDs并在本节中选择(或创建)一个客户端ID。
  • 在打开的窗口中,找到Restrictions -> Authorized JavaScript origins部分并添加http://localhosthttp://localhost:8000 (指定您需要的端口)。

2.清除缓存.

如果第一步没有解决问题,则需要清除缓存。

如果您只想删除localhost缓存,则可以在Chrome中使用以下方法:

  • 打开设置->更多的工具,->开发工具;
  • 右键单击Reload按钮->空缓存和硬重放。

有时缓存清除不起作用。为了确保它仍然是一个缓存问题,请使用Incognito模式打开一个浏览器,然后再次检查您的站点。

票数 19
EN

Stack Overflow用户

发布于 2018-10-01 04:30:42

为了节省将来的读者,我通过在客户机ID创建(凭据/开发人员控制台)中的“授权Javascript”上准确地键入http://www.localhost来从本地主机进行身份验证。完全不明显和反用户,但http://localhosthttp://127.0.0.1都不起作用。

票数 0
EN

Stack Overflow用户

发布于 2019-04-08 11:22:09

对我来说,通过禁用AdBlocker解决了问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52529360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档