通过Facebook投票的项目如何?

时间:2011-03-09 02:49:14

标签: facebook facebook-like

我有一位朋友希望每周举办一次比赛,用户可以对自己喜欢的照片进行投票。他希望用户“喜欢”一张照片以便投票。这是一个合理的机制吗?这会有用吗?是否有合理的方式从Facebook获得投票数字?

Facebook indicates按钮上的相似数字是:

的总和
* The number of likes of this URL
* The number of shares of this URL (this includes copy/pasting a link back to Facebook)
* The number of likes and comments on stories on Facebook about this URL
* The number of inbox messages containing this URL as an attachment.

我想确保人们只能投票一次,而不是将网址发送给很多朋友以获得投票。

与建立更传统的投票系统相比,以这种方式构建它有什么缺点和/或影响?

谢谢!

2 个答案:

答案 0 :(得分:1)

我不相信Facebook提供任何相互排斥的'喜欢'的方法,因此用户似乎很容易“喜欢”民意调查中的两个(或所有)选项,这会使结果有所偏差。此外,我不确定它的系统是多么可靠,将产品的讨论混为一谈(“Facebook上有关此URL的故事的喜欢和评论数量”和“包含此URL作为附件的收件箱消息数量” “)作为产品的实际认可。

就个人而言,我使用Facebook短信和我的电子邮件分享供应商和广告的恐怖故事,几乎与我分享相同的积极体验。

这个似乎,对我来说,是一个非常糟糕的选择。如果要使用Facebook,为什么不简单地在其上创建一个民意调查呢?

答案 1 :(得分:1)

<强>更新
根据新的Promotions Guidelines,您无法使用Like插件作为投票机制:

  

您不得使用Facebook功能或功能,例如Like   按钮,作为促销的投票机制。


实际上使用Facebook作为投票系统根本不是一个坏主意,我正在考虑自己实施一个测试投票系统(基于Facebook Like PLugin ..等)。

这种方法类似于answer 您捕捉到“喜欢”和“不喜欢”:

FB.Event.subscribe('edge.create', function(response) {
    $.ajax({
        type: 'POST',
        url:'/voting.php',
        data: {vote: 'up'}
    });
});
FB.Event.subscribe('edge.remove', function(response) {
    $.ajax({
        type: 'POST',
        url:'/voting.php',
        data: {vote: 'down'}
    });
});

您设置了正确的Open Graph元标记:

<meta property="og:title" content="Picture Title" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://domain.com/path/to/picture/page/" />
<meta property="og:image" content="http://domain.com/path/to/picture.jpg" />
<meta property="og:site_name" content="Site Name" />
<meta property="fb:admins" content="XXXXXXX" />
<meta property="fb:app_id" content="XXXXXXX" />

所以现在你可以做两件事之一:

  1. 根据JS事件在您的数据库中记录您增加喜欢(或在用户改变主意和不喜欢时减少)的记录
  2. 可以使用FQL(link_stat 表更具体)来收集某个网址(对象)的total_count并检查最喜欢的。
  3. 因此,如果您只想从页面中收集投票(喜欢),请根据您的需要使用上面的FB.events或其他FQL。