一旦用户在我的网站上共享链接,是否可以更新数据库?
例如,如果他们共享链接,则会向他们的帐户授予一些积分。
我怎样才能确保他们真正分享到Facebook的链接,而不只是点击分享然后关闭弹出窗口......
我对facebook不熟悉,刚刚尝试谷歌但仍未找到答案......
谢谢。
编辑:
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share"
type="text/javascript">
</script>
<a name="fb_share" type="button" share_url="script2.php?id=XXX">
答案 0 :(得分:6)
我猜你正在寻找这个http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/ 您需要订阅此活动。
答案 1 :(得分:6)
更新(2013年8月21日):自最初发布以来,Facebook的api已发生变化。跟踪喜欢的方式仍然相同(阅读下面的原始答案),但共享按钮的状态已更改。
弃用消息/信息。在文档中的任何位置都不再显示,但可以在this bug中看到。根据{{3}},分享按钮似乎仍然可用。但Facebook没有直接跟踪分享的方式。我也不知道跟踪股票的任何黑客行为。
原始回答:
来自this doc的Facebook文档。
不推荐使用“赞”按钮,而不再支持“共享”按钮。 请尽可能使用“赞”按钮来增加应用的流量。
所以我会告诉你如何为类似按钮做这件事:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR_APP_ID', // App ID
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
// you can subscribe to events here
// edge.create event is fired only when the user likes (which means that the wall post has already happened, when the like button was clicked)
FB.Event.subscribe('edge.create',
function(response) {
alert('You liked the URL: ' + response);
// you can do some ajax call to your backend and update your database
}
);
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<fb:like href="http://example.com/fblike/"
send="true" width="450" show_faces="false"
>
</fb:like>
您也可以更改“赞”按钮中显示的单词,从建议开始,您应该尝试自动生成此Javascript sdk中的类似按钮代码。
答案 2 :(得分:3)
是的,这是可能的。
示例链接:
<a href="?share=YOUR+URL">SHARE TO FACEBOOK</a>
散文的示例代码
if(isset($_GET['share']))
{
if(mysql_query("insert into table X() value()"))
{
//open window, you can use header('location:..') or meta redirect or another way, in this sample i'm using javascript window.open;
echo '<script>window.open("http://www.facebook.com/sharer.php?u='.urlencode($_GET['share']).'","share","width=600,height=400");</script>';
}
}
要实现Facebook“赞”按钮,this link可能可以帮助您
答案 3 :(得分:1)
您不需要Facebook,当有人点击页面上的“赞”按钮时,您可以执行Javascript AJAX调用。该调用将写入您的数据库。只需将点击事件添加到按钮即可。