创建动态Facebook共享按钮

时间:2014-03-03 13:20:59

标签: facebook dynamic

我被困在这个......

我有一个播放音乐的网站。页面自动更新以显示正在播放的当前歌曲和艺术家的图像。该网站还允许访问者请求歌曲。我想要做的是允许用户在Facebook上分享他们的请求,所以我在下面添加了代码。

最初,当您按下Facebook按钮时,它会弹出一个包含所有正确信息(歌曲,艺术家,图像等)的框,但不能正确发布到Facebook(动态信息,如标题和图像会丢失)。现在,最近,它甚至没有正确填充弹出窗口。

我陷入困境,无法弄清楚如何让它正常工作,有人可以帮助我吗?

感谢。

<a class="facebook" target="_blank" onclick="return !window.open(this.href, 'Facebook', 'width=640,height=300')" href="http://www.facebook.com/sharer.php?s=100&p[title]=I'm listening to <?php echo $currentSong->title . ' by ' . $currentSong->artist; ?>&p[summary]=Join me and listen right now or request your own song&p[url]=http://www.mydomain.com&p[images[0]=<?php echo $largeimg; ?>"><img src="http://www.mydomain.com/new/images/facebook.png" width="32" height="32" border="0" style="padding-top:5px; padding-right:4px "></a>

1 个答案:

答案 0 :(得分:6)

实际上,您应该只将URL作为参数(url编码)添加到sharer.php中:

<a href="<?php echo 'http://www.facebook.com/sharer.php?u=' . urlencode(<url to share>); ?>"><img ... /></a>

它会自动从共享网址获取Open Graph数据,请参阅此页面:http://ogp.me/

我认为所有其他参数都已弃用,至少几个月前它对我不起作用。您唯一可以尝试的是使用PHP函数“urlencode”对所有数据进行编码 - 但我建议使用正确的方法并正确实现Open Graph。这样你甚至可以拿走URL,手动将它放在Facebook上,它将获取正确的数据。

如果内容是完全动态的,您应该考虑使用开放图表操作:https://developers.facebook.com/docs/opengraph/

如果这太复杂,请使用FB.ui提要对话框:

https://developers.facebook.com/docs/reference/dialogs/feed/

...但不要忘记包含JavaScript SDK:

https://developers.facebook.com/docs/javascript/quickstart