提问人:Pekka 提问时间:8/19/2010 最后编辑:CommunityPekka 更新时间:8/23/2010 访问量:897
为我网站上的任意元素创建“喜欢”按钮,并回读状态 - 可能吗?
Creating "Like" buttons for arbitrary elements on my site, and reading back the status - possible?
问:
我是 Facebook 编程的新手,作为这个问题的后续,我想知道以下情况是否可行。
我在网站上收集了一系列活动。我从几个 RSS 提要中获取它们,并且可以完全自由地输出它们 - 例如作为单个页面,因此每个事件都有一个永久链接。
我想要
为每个事件创建一个 Facebook“赞”按钮,而无需以任何方式将它们输入到 Facebook 系统中
通过 JavaScript 或在服务器端回读这些事件中任何一个事件的当前用户的“喜欢”状态,以便我可以在“我喜欢的事件”列表中显示这些事件。重要的是,我需要能够稍后 = 在后续页面请求中读取状态,而不仅仅是在用户单击“喜欢”按钮的那一刻。
@karim79的答案确实回答了第一部分,但还不是第二部分。
此页面包含创建按钮所需的所有信息: 社交插件 > 喜欢按钮 当有人注册时,还有一个 FBML 事件可以做出反应。但这仍然无法让我检查回访用户的“喜欢”状态。
有什么办法可以做到吗?
答:
13赞
karim79
8/19/2010
#1
为您的网站自动生成“喜欢”链接的一种脑死亡方法(我最近实现了 - 所以我知道有效)是简单地生成“href”参数,该参数(Facebook的)like.php从iframe源读取。只需使用他们的小部件构建 iframe 代码,并使用 PHP 来动态化参数:href
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode($url); ?>%2F&layout=button_count&show_faces=false&width=50&action=like&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:75px; height:21px;" allowTransparency="true"></iframe>
您可以在有限的范围内对其进行自定义,只需查看按钮创建小部件正下方的属性列表即可。
使用 fbml(我懒得合并,并且由于我不得不包含另一个库而有点不情愿):
<fb:like width="200" show_faces="no" href="<?php echo $url; ?>"></fb:like>
这里有一个简洁的例子列表:http://fbrell.com/xfbml/fb:like
评论
1赞
Pekka
8/19/2010
干杯,我喜欢脑死亡的方式:)对于创建部分来说,这是件好事。
1赞
karim79
8/19/2010
@Pekka - 对于第二部分,我认为您需要与一些 JS 结合使用以挂接到事件 (developers.facebook.com/docs/reference/javascript/...) 以将当前用户/单击的 eventID 存储到您的数据库中,但我不确定目前具体如何。我正在努力,因为我可以使用这个:)FB.Event.subscribe
edge.create
0赞
Pekka
8/19/2010
@karim感谢您提供的信息!这看起来是一个可行的选择。我今天将无法处理此事 - 如果您设法找到更多详细信息,我将不胜感激。
0赞
Pekka
8/27/2010
授予赏金:事实上,捕捉 onclick 事件似乎是做到这一点的唯一方法——可悲的是,这对我来说还不够,因为我无处可去存储这种状态。但是,似乎不可能做任何其他方式!
0赞
karim79
8/27/2010
@Pekka - Hoooray!我的第一个赏金!<打开啤酒> :)
评论