在向Google API(gapi)发出身份验证请求时,它会在checkOrigin上返回false。
我删除了任何客户ID或任何直接链接到我的帐户的内容,并将其替换为正则表达式,以指示数据供参考。
网址:https://accounts.google.com/o/oauth2/iframerpc?action=checkOrigin&origin=https%3A%2F%2Flocal.tools&client_id=(\d{21})
我的原始网址是本地网址,即https://local.tools
结果:{valid: false}
我使用此处找到的示例没有偏差(除了用我的21位数字clientid替换clientid):https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/
我试图显示的项目在演示网站上很好地显示,但是我的local.tools网站上的客户端错误没有超过无效来源。
答案 0 :(得分:59)
清除浏览器缓存。开始在Chrome中收到此错误,然后我创建了一个新的客户端ID,但仍然遇到了问题。打开firefox并且它工作正常,因此我清除了Chrome上的缓存并开始工作。
答案 1 :(得分:43)
使用此示例时,我收到了相同的控制台错误消息:https://developers.google.com/analytics/devguides/reporting/embed/v1/getting-started
文档说不要忽视两个关键步骤(“当您阅读说明时,重要的是不要忽视这两个关键步骤: 启用Analytics API [&]设置正确的来源“),但没有明确说明WHERE设置正确的来源。
由于我的客户端ID不起作用,我创建了一个新项目和一个新的客户端ID。新项目可能没有必要,但我保留(和使用)它。
这是有效的:
在创建凭据期间,您将看到一个名为“限制”的部分 输入JavaScript来源,重定向URI或两者“。这是您可以输入原点的地方。
保存并复制您的客户端ID(和密码)。
我的脚本在创建新的OAUTH凭据,分配了原始凭据并在此过程之后使用新生成的客户端ID后工作。
答案 2 :(得分:10)
凭据不起作用。在我的情况下,需要接下来的步骤:
答案 3 :(得分:5)
对我来说 - 我刚刚来到这里:
https://console.developers.google.com/apis/credentials
然后选择了正确的项目;然后选择控制台错误消息中显示的具有相同ID的凭据。编辑凭据时,您可以将多个来源添加到白名单。
答案 4 :(得分:5)
尝试清除缓存,然后重新加载,我也遇到了同样的错误,但是当我尝试在chrome浏览器中的隐身浏览器上运行时,它起作用了。
答案 5 :(得分:3)
关键点::将http://localhost和http://localhost:port_number都添加到“ JavaScript原始授权”框中,以进行本地测试或开发。
答案 6 :(得分:1)
创建新的oauth凭据对我有用
答案 7 :(得分:0)
由于Allow-Control-Allow-Origin: *浏览器扩展,我收到了错误消息。
答案 8 :(得分:0)
如果您在本地主机上运行它,请将端口更改为5000,它将对其进行修复
答案 9 :(得分:0)
尝试使用其他浏览器(chrome)可以解决问题,并在firefox上清除缓存可以解决此问题。
(PS:未将托管URI添加到API凭据中的授权JavaScript来源中会给您错误:redirect_uri_mismatch)
答案 10 :(得分:0)
清除缓存对我有用。
对于反应开发人员,请尝试重新启动项目,否则它将一次又一次显示相同的错误。
答案 11 :(得分:0)
这对我来说也太痛苦了很长时间...
<块引用>发现问题,我的网站实例的引荐来源政策设置为 没有推荐人。将其设置为 no-referrer-when-downgrade 后,One 点按提示按预期显示。
https://stackoverflow.com/a/63039142/15565029
如果您使用的是 Django,则 SECURE_REFERRER_POLICY 默认为“同源”。通过在设置文件中添加以下代码来更改它。
# settings.py
SECURE_REFERRER_POLICY = 'no-referrer-when-downgrade'
https://docs.djangoproject.com/en/3.2/ref/settings/#std:setting-SECURE_REFERRER_POLICY
答案 12 :(得分:0)
类似于上面的几个答案,但有截图。如果您为 Firebase 创建了项目,也可以使用相同的步骤在 Google Cloud Platform 控制台中进行配置。
答案 13 :(得分:-1)
我遇到了同样的问题,并进行了3天的搜索:解决“ popup_closed_by_user”转到您的console.google转到您的API管理:凭据:修改您的凭据:
授权的Javascript来源(http://localhost:port);Authorized重定向URI(http://localhost:port/auth/google/callback);
示例:||授权的Javascript来源(http://localhost:4200);Authorized重定向URI(http://localhost:4200/auth/google/callback)|| enter image description here