这是我的初始化代码:
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
}
});
}
哪个给我以下错误消息:
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 origins
和Authorised redirect URIs
上我必须使用http://localhost
而不是{{1 }}。如果执行此操作,则会收到该错误,如果尝试登录,则会显示http://127.0.0.1
。
如果我在两者上都使用Permission denied to generate login hint for target domain.
,则初始化时不会获得http://127.0.0.1
,但是尝试登录时却获得相同的权限被拒绝。
这没有任何意义,没有其他方法可以指定localhost,而我只是不能使用API。
答案 0 :(得分:1)
为了节省将来的读者,我设法通过在客户端ID创建(凭据/开发者控制台)的“ Authorized Javascript Origins”(身份验证的Java起源)上准确键入http://www.localhost
来从本地主机进行身份验证。完全不明显且反用户,但http://localhost
或http://127.0.0.1
均无效。
答案 1 :(得分:1)
就我而言,这是两方面的问题。
需要将来源添加到Google控制台。
原产地如何? http://localhost
清除缓存。
有时这不起作用,您可能开始认为这不是缓存问题。详细信息如下。
1。如何将您的来源添加到Google控制台?
OAuth 2.0 client IDs
,然后在此部分中选择(或创建)客户ID。Restrictions -> Authorized JavaScript origins
部分,并添加http://localhost
或http://localhost:8000
(指定所需的端口)。2。清除缓存。
如果步骤1不能解决问题,则需要清除缓存。
如果您只想删除localhost
缓存,则可以在Chrome
中以以下方式进行删除:
有时无法清除高速缓存。为了确保它仍然是缓存问题,请使用隐身模式打开浏览器,然后再次检查您的网站。
答案 2 :(得分:0)
对我来说,问题是通过禁用AdBlocker来解决的
答案 3 :(得分:-1)
我遇到了同样的问题,我搜索了3天:解决“ popup_closed_by_user
”转到您的console.google转到您的API管理:凭据:修改您的凭据:
授权的JavaScript起源(http://localhost:port)
;授权的重定向URI ( http://localhost:port/auth/google/callback)
;
示例:||授权的Java脚本来源(http://localhost:4200)
;授权的重定向URI ( http://localhost:4200/auth/google/callback)
||