1

我在我的网站上使用 google plus 登录。它工作正常,并根据官方教程(https://developers.google.com/+/web/signin/)实现为

class="g-signin"
data-callback="onSignInCallback"
data-clientid=<my id>
data-approvalprompt="force"
data-width="wide"
data-cookiepolicy="http://<?php echo $c_site; ?>.com"
data-requestvisibleactions="http://schemas.google.com/AddActivity"
data-scope="https://www.googleapis.com/auth/plus.login       https://www.googleapis.com/auth/userinfo.email">
</span>

在官方网站上以相应的js客户端编码作为示例几周前它消失了。与此同时,我在 google+ 上的分享按钮也消失了。这也是根据官方网站 https://developers.google.com/+/web/share/工作和编码的

                <div class="g-plus" data-action="share" data-annotation="none" displayText="<?php echo $someBullshit;?>" data-href="<?php echo $url;?>" ></div>

我不会在这里详细介绍,因为我的代码是从教程中逐字复制的。有人在这里看到明显的东西吗?g+ api 有没有严重的变化?教程似乎没有变化

4

1 回答 1

1

也许你的 plusone.js 发生了什么事?确保它位于您的页面上,就在您的结束正文标记之前:

<!-- Place this asynchronous JavaScript just before your </body> tag -->
<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';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
 })();
</script>

要测试它是否已加载,请打开 JavaScript 控制台并测试 gapi 对象是否存在:

gapi.plus.render

其次,看起来您的容器(跨度)没有开始标签。它应该读作:

<span class="g-signin"
  data-callback="onSignInCallback"
  data-clientid=<my id>
  data-approvalprompt="force"
  data-width="wide"
  data-cookiepolicy="single_host_origin"
  data-requestvisibleactions="http://schemas.google.com/AddActivity"
  data-scope="https://www.googleapis.com/auth/plus.login       https://www.googleapis.com/auth/userinfo.email">

最后,请注意您设置 cookie 策略的方式。如果配置不正确,脚本将被阻止加载。尝试将其更改为 single_host_origin 以查看它是否设置不正确(通常应为http://yoursite.comhttps: //yoursite.com,https和 http 有所不同)。

于 2013-06-21T21:57:03.520 回答