如何通过开放图形在Facebook上创建自定义投票?

时间:2012-03-06 14:12:05

标签: facebook facebook-opengraph

我想在我的脸书页面(facebook.com/genericco)上创建一个自定义民意调查,其中我想创建有趣的民意调查,人们可以投票(主要是是或否答案),我想在选民的帖子上发帖采取行动(john doe对Genericco的民意调查投了赞成票:你认为鸡肉应该因为健康问题而停止吸烟吗?)。

所以我不能仅仅使用图形API并阅读我自己的问题...所以我决定使用开放图形!我创建了一个名为vote的操作,将自定义属性的答案作为布尔值...

我还用图像,问题,标题,描述和自定义属性问题创建了对象轮询......

我还在聚合部分填充了自定义数据。

然后我使用Putty程序运行代码,并能够提交我的自定义操作以供审批......

我现在的问题是......我该如何使用它?我如何将这些结合在一起以实现我在这个问题上提出的目标?

谁能揭开光明?

1 个答案:

答案 0 :(得分:4)

所以......我设法用Facebook中的Open Graph构建自定义民意调查应用程序。它还顺利......但还不是100%。让我告诉你们为什么:

1 - 所以我设法理解如何创建动作,我称之为“投票”,它与我创建的对象类型“民意调查”相关联;动作“投票”有2个自定义属性:“答案”,它是一个字符串,“名称”,也是一个字符串;

2 - 然后我创建了对象“Poll”并在其中填充了示例数据和内容,并且我还创建了自定义属性“Question”;

3 - 然后我创建了聚合“Enquete Ociosidade”(粗略翻译意味着懒惰的民意调查),数据显示的是动作“投票”,在标题中我使用了类似这样的内容{poll.question} {name}想{answer};

然后为了使它工作,我不得不以某种方式向facebook发送动作样本,我不知道如何做到这一点所以我使用了Putty并简单地粘贴了facebook为此提供的代码;它起作用了;

然后是困难的部分,我的前端应用程序将如何将这些信息发送到Facebook以便我可以注册该操作?好吧,我很高兴你问过!

我尝试了直到它有效......你的APP必须有出版物的许可 - 这是非常重要的!

所以......这是我工作的代码:

FB.api('/me', function(response) {
    //alert(response.name);
    FB.api('/me/genericco:votar_poll&enquete=http://www.limonadaweb.com.br/genericco/poll_data.php&resposta='+resposta+'&nome='+response.name+'&access_token='+_token+'' ,'post',  function(resp) {
    if (!resp || resp.error) {
        alert('Error occured '+resp.error.message);
        //mostrar caixa de diálogo que algum erro ocorreu;
    } else {
        alert('Post was successful! Action ID: ' + resp.id);
        //fazer algo legal para demonstrar que deu certo o voto;
    }
    })
});

我做的是...首先我做一个FB.api调用来获取用户名,在回调中我做了一个FB.api调用来注册行动非常重要的通过ACCESS_TOKEN TOO ...并且必须是POST ....这就是它的全部!很酷吧?所有代码都在我的应用程序调用的函数内部,只要用户投票并发送一个布尔值,我用它作为答案,知道用户是否投了“是”或“否”。

这一切都很好,工作正常!很好......

我现在的问题是,现在当我的时间轴和新闻源发布动作时,它会将用户发送到下面的链接......它绝对没有视觉效果......这是民意调查的数据......一堆元标...

我想知道当用户点击我的Feed链接时是否可以将用户发送到其他链接...

http://www.limonadaweb.com.br/genericco/poll_data.php?fb_action_ids=10150744684398313&fb_action_types=genericco%3Avotar_poll&fb_source=other_multiline