Google+ API 400(错误请求)"和"拒绝显示…X-Frame-Options'&



我正试图将G+ API与我的网站集成,我有一个问题。如果在加载页面时查看控制台,您将看到以下错误:

GET https://accounts.google.com/o/oauth2/postmessageRelay?parent=http%3A%2F%2Fwww.pricewombat.com 400 (Bad Request) cb=gapi.loaded_0:436
Refused to display 'https://accounts.google.com/o/oauth2/postmessageRelay?parent=http%3A%2F%2Fwww.pricewombat.com#rpctoken=356505585&forcesecure=1' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

我只是使用谷歌网站上给出的示例代码:

<script type="text/javascript">
    (function() {
        var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
        po.src = 'https://apis.google.com/js/client:plusone.js?onload=googlePlusOnloadCallback';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
</script>

如果我在控制台中运行gapi.auth.signIn(),什么也没有发生。我认为这个问题与页面加载时的上述错误有关。

是什么导致这个问题,我如何解决它?

更新:

我在我的网站上创建了一个空白页面,使用这个基本代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
</head>
<body>
<script type="text/javascript">
    (function() {
        var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
        po.src = 'http://apis.google.com/js/client:plusone.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
</script>
</body>
</html>

我试着加载上面的页面有和没有身份验证元标签(上面没有显示),我仍然得到错误。

似乎这个是一个问题在谷歌的结束,因为我只是使用最基本的barebones示例代码,它不工作。

好吧,显然Google+只是有一个大脑放屁或什么,因为解决方案是简单地清除我的cookies!

我试着在另一台电脑上使用我的网站,Google+ API工作得很好(没有错误),所以我试着清除我桌面上的cookie,你看,它开始工作了!

我发现的是,如果客户端打开了chrome很长一段时间,他们会得到这个错误。一旦他们关闭浏览器并重新打开,他们就不会遇到任何问题。我的解决方案是从服务器下载脚本,将其上传到我们的服务器,并将其作为备份下载。

相关内容

  • 没有找到相关文章

最新更新