如何记录成功的Google+分享



我有一个google+分享链接,有人可以点击它来分享(在他们自己的流上(由rails应用程序指定的网址(不是当前页面(。

我希望能够记录链接是否已被单击并成功共享。这是我正在使用的谷歌+分享链接代码

<a href="https://plus.google.com/share?url=#{@user.website}" onclick="javascript:window.open(this.href,
  '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;"><img
  src="https://www.gstatic.com/images/icons/gplus-64.png" alt="Share on Google+"/></a>

我知道这可以用推特 API 来完成:

<script type="text/javascript">
twttr.ready(function (twttr) {
  twttr.events.bind('tweet', function(event) {
    $.post('<%="#{record_twitter_share_path}"%>');
  });
});
</script>

但是有没有办法用Google+做到这一点

您无法确认某人是否使用"共享"小组件参数或 JavaScript API 将帖子分享到其直播中。Niraj的答案是有缺陷的,不起作用,请参阅此JSBin尝试一下。

在某些情况下,您可以用一个div

包围小部件,您可以跟踪对该div 的点击,但这也不起作用。

考虑到Google+上的大多数用户不会公开分享他们的大部分帖子,一个可能有效的选项是,您可以使用REST API的activities.search方法并将您感兴趣的URL作为搜索参数传递,但您不一定知道该特定用户共享了它, 或者它可能是私有的,并且根据您的网站的受欢迎程度,您可能不得不浏览许多页面的结果,可能没有运气。

可以跟踪按钮的单击,但不能跟踪共享本身。如果您使用 Google+ 网页共享按钮,则可以执行以下操作:

<div class="g-plus" data-action="share" data-href="https://www.webniraj.com/2013/10/02/google-api-sharing-an-interactive-post/" data-onendinteraction="trackShare" data-onclick="trackShare"></div>
<!-- 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);
  })();
  function trackShare( jsonParam ) {
      console.log( jsonParam );
  }
</script>

该按钮具有 data-onclick="trackShare" 属性集,该属性调用 JavaScript 函数来触发日志记录。

trackShare函数中的console.log( jsonParam )将返回如下内容:

{
  "id": target URL,
  "type": hover|confirm
}

但是,在我的测试中,即使成功共享,它也只会返回type: hover

相关内容

最新更新