0

我有一个 google+ 共享链接,有人可以单击该链接以共享(在他们自己的流上)由 rails 应用程序(不是当前页面)指定的 url。

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

<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>

我知道它可以用 Twitter api 完成:

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

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

4

2 回答 2

1

您无法确认是否有人使用分享小部件参数或 JavaScript API 将帖子分享到他们的信息流。Niraj 的回答有缺陷且不起作用,请参阅此 JSBin 来尝试一下

在某些情况下,您可以用一个 div 围绕小部件来跟踪该 div 上的点击,但这也不起作用

鉴于 Google+ 上的大多数用户不会公开分享他们的大部分帖子,一个可能有效的选项虽然肯定不会一直有效,但您可以使用REST API 的 activity.search 方法并传递您对搜索参数感兴趣,但您不一定知道该特定用户共享它,或者它可能是私人的,并且根据您的网站的受欢迎程度,您可能需要翻阅许多页面的结果可能没有运气。

于 2013-10-09T14:56:32.530 回答
-1

可以跟踪按钮的点击,但不能跟踪共享本身。如果您使用 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 函数来触发日志记录。

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

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

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

于 2013-10-09T10:10:02.267 回答