我需要帮助。我没有找到我的问题的答案。我试着谷歌搜索,我试着在另一边问,但我从来没有找到答案。
我正在使用谷歌API(Youtube数据API),我使用谷歌方面的示例代码,它使用的代码我非常肯定。我尝试启动脚本时遇到错误:
详细信息:“不是客户的有效来源:”MyURL“尚未列入客户ID”MyID“的白名单。请转到https://console.developers.google.com/并将此来源列入白名单以获取项目的客户ID。”
错误:“idpiframe_initialization_failed”
问题我将我的网站列入白名单并且已被接受。我不知道出了什么问题。我该怎么办才能将我的域名“列入白名单”(白名单)
另一个问题。我之前没有在这个问题上寻找答案。
我认为我可以使用Localhost上的代码,我想我必须将我的localhost地址或类似内容列入白名单。但白名单不起作用。
答案 0 :(得分:99)
我清除了缓存。那时就开始工作了。
在Chrome中:设置 - >高级 - >清除浏览数据 - >缓存的图像和文件
答案 1 :(得分:40)
遇到同样的问题,以及我如何解决它:
享受。
答案 2 :(得分:4)
文档说不要忽略两个关键步骤(“在按照说明进行操作时,请不要忽略这两个关键步骤,这一点很重要:启用Analytics API 这是对我有用的东西:
答案 3 :(得分:3)
尝试清除缓存,可能是缓存/本地存储问题。
答案 4 :(得分:3)
对我来说,它无需添加任何其他API(例如Google Analytics(分析))即可工作。只需确保添加完整的clientid并在隐身窗口中打开该应用程序即可避免保存缓存。如果已经在常规窗口中打开了该应用, 1-关闭打开应用程序的所有选项卡。 2-清除缓存和cookie。在chrome中,其位于设置->密码和表单->清除浏览数据->高级(标签)->选择a)Cookie和其他网站数据,以及b)缓存的图像和文件 3-打开一个新的隐身窗口并测试您的应用。
答案 5 :(得分:2)
清除缓存对我来说很成功
答案 6 :(得分:2)
正如许多人在这里指出的那样,这只是浏览器缓存问题。无需创建新密钥,甚至无需清除缓存。只需在新的浏览器隐身(匿名)窗口上重试,它就可以正常工作。
答案 7 :(得分:2)
我还试图让示例工作(来自)https://developers.google.com/drive/api/v3/quickstart/js
即使ip地址已添加到WebAPI,它仍然连续失败。
但是您必须将localhost:8000(而不仅仅是127.0.0.1:8000)添加到OAUTH中,如下所示:
浮动在OAUTH客户端文本上,它将成为一个链接。单击该链接,您可以添加包括端口在内的URI。我的已经有127.0.0.1:8000,但没有locahost:8000。
这是有趣/奇怪的事情。当我ping localhost时,我看到:
我认为这是IPV6。
无论如何,如果我ping 127.0.0.1,我会看到预期的响应(通过IPV4)
也许这是一条红色的鲱鱼,但是我不确定在OAUTH中输入的值是否受到它的影响。
我什至注意到的原因是,当我按照教程中的说明启动Python Web服务器时,我看到了以下内容,并认为这很奇怪:
只有在OAUTH中添加了localhost:8000 URI后,它才能正常工作,但是在添加后,它确实可以正常工作。
答案 8 :(得分:1)
<script src="https://apis.google.com/js/platform.js" async defer></script>
脚本必须在标签 <head></head>
就我而言,我把标签放在 </main>
之后,所以它失败了。然后我尝试在标签 <head>
中写入,它起作用了!
=== 正确的是
<!DOCTYPE html>
<html lang="vi">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<meta name="google-signin-client_id" content="APP_CODE.apps.googleusercontent.com">
<script src="https://apis.google.com/js/platform.js" async defer></script>
</head>
<body>
<main>
<div class="g-signin2" data-onsuccess="onSignIn"></div>
</main>
<script>
function onSignIn(googleUser) {...}
...
答案 9 :(得分:1)
Create authorization credentials
任何使用OAuth 2.0访问Google API的应用程序都必须具有授权凭据,以将应用程序标识为Google的OAuth 2.0服务器。以下步骤说明了如何为您的项目创建凭据。然后,您的应用程序可以使用凭据访问为该项目启用的API。
答案 10 :(得分:1)
我在尝试获取Web应用程序登录时遇到类似的问题。我所做的只是从Cloud Platform重新创建OAuth客户端ID凭据。当我这样做并使用新的Client ID时,一切正常。不知道以前是什么问题,但现在一切顺利。
如果有人从Google或其他地方找到此邮件,请尝试。它可能会起作用。它将解释Ezra Obiwale的答案,因为这实际上是在添加几个API之后创建一个新的Client ID。
如果有人知道为什么会发生这种情况的解释,将不胜感激。
答案 11 :(得分:1)
我还按照快速入门示例中的说明进行操作,遇到了相同的问题,尝试了此处建议的所有解决方案,都尝试了我能想象的一切,但没有帮助。
最后看到我复制了CLIENT_ID
,并在末尾加了空格。
var CLIENT_ID = '44********-*****************.apps.googleusercontent.com ';
一旦我修复了这个问题(删除了多余的空间),它就起作用了。
我猜这种情况下错误消息不是很准确。 希望这会有所帮助。
答案 12 :(得分:0)
在本地主机上使用react-social-login进行Google登录时,我遇到了同样的问题。在白名单来源中,我们必须提供http://localhost:3000才能使其正常工作。
答案 13 :(得分:0)
在某些client ID
上,登录数超过了(100),因此无法正常工作。
您可以访问google API console page并创建新的Oauth2客户端凭据(记住要在Authorized Javascript Origins
下添加应用程序URL),然后使用它。
答案 14 :(得分:0)
我认为这与缓存有关,尝试转到浏览器并清除缓存,尝试:在chrome中,&gt;设置&gt;高级&gt;清除浏览数据:&gt;:缓存的图像和文件。
答案 15 :(得分:0)
我犯了同样的错误:尝试official quickstart example并收到与您相同的错误消息。
这是相当令人困惑的,因为该示例是使用OAuth进行用户登录的完整示例,而不仅仅是API key
。如果您不想使用OAuth,并且您只想检索一些Youtube数据,而没有任何特权操作(例如,如果您只想搜索或列出视频,频道或播放列表),则此示例适合您。
解决方案很简单,只需向apiKey
提供clientId
而不是gapi.client.init
(链接:API docs),如下所示:
const apiKey = '<my API key>';
function gooApiInitClient() {
// Array of API discovery doc URLs for APIs used by the quickstart
const discoveryDocs = ["https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest"];
return gapi.client.init({
apiKey,
discoveryDocs
});
}
// see: https://developers.google.com/api-client-library/javascript/reference/referencedocs
gapi.load('client', {
callback: function() {
// we now have gapi.client! initialize it.
gooApiInitClient().
then(() => {
// we can start using the API here!
// e.g. gapi.client.youtube.videos.list(...);
}).then(results => {
// use results here....
});
}
});
答案 16 :(得分:0)
使用以下最新方法更新客户端的有效来源:
Settings --> Advanced --> Clear browsing data --> Cached images and files
(为了避免旧缓存生成跨源问题)希望对大家有所帮助
答案 17 :(得分:0)
一键 Google chrome 身份验证不会显示给我的所有域,所以
我关注这本书:
https://developers.google.com/identity/one-tap/web/guides/features
这个问题的摘要:
<块引用>将您的所有域和子域添加到: https://console.developers.google.com/apis/credentials 编辑或创建:
OAuth 2.0 客户端 ID ->
Web 客户端(由 Google 服务自动创建)(编辑此行)
在此处添加域和子项:
<块引用>授权的 JavaScript 来源
URI
此后,登录用户的 Chrome 浏览器上注册的帐户开始显示一键登录。
答案 18 :(得分:0)
我遇到了同样的问题 - 我的解决方案是进入API管理器并启用Analytics API。不知道问题是什么,但这似乎已经解决了!
答案 19 :(得分:-1)
我也遇到了同样的问题,直到我意识到当我复制client_ID时,我的文件中有空白,所以我从字符串中删除了空白,并且现在一切正常。