我对我的网站有了一个想法,因为我不知道从哪里开始寻找,所以我有了一些初步的方向。
我正在开发一个基于订阅的网站,用户可以在 facebook 上共享该网站并为每个共享计算积分。当他们达到一定数量的积分时,他们会收到订阅折扣。
该站点是一个 wordpress 多站点,用户在他们订阅的我的主站点上有自己的帐户区域 - 这是我想要记录他们的分数的地方(即不在 wordpress 管理仪表板上)。
有人可以为我指出正确的方向,了解我如何跟踪用户何时共享页面以及每次如何分配他们的积分。
我对我的网站有了一个想法,因为我不知道从哪里开始寻找,所以我有了一些初步的方向。
我正在开发一个基于订阅的网站,用户可以在 facebook 上共享该网站并为每个共享计算积分。当他们达到一定数量的积分时,他们会收到订阅折扣。
该站点是一个 wordpress 多站点,用户在他们订阅的我的主站点上有自己的帐户区域 - 这是我想要记录他们的分数的地方(即不在 wordpress 管理仪表板上)。
有人可以为我指出正确的方向,了解我如何跟踪用户何时共享页面以及每次如何分配他们的积分。
如果您需要用户标识符,即 user_id,您必须使用 Graph API,并且用户应首先验证您的应用程序以允许代表他们发布。
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '{app-id}',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
share(response.authResponse.userID);
} else if (response.status === 'not_authorized') {
login();
} else {
login();
}
});
};
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
function login()
{
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(response) {
share(response.id);
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
},{scope: "publish_stream"});
}
function share(id)
{
FB.api(
"/me/feed",
"POST",
{
"object": {
"message": "This is a test message",
"link": "{your-website-link}"
}
},
function (response) {
if (response && !response.error) {
//make an ajax call and save the update the points wrt userId
}
}
);
}
</script>
<div id="fb-root"></div>
我想代码是不言自明的。
参考资料:FB.login
, FB.getLoginStatus
,/me/feed
如果您已有用户标识符,则无需使用 Graph API,而是可以使用Feed Dialog进行共享,无需用户验证您的应用即可完成。
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '{app-id}',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.ui({
method: 'feed',
link: "{your-website-link}"
}, function(response){
// share successful
//ajax call here to save points
});
};
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
<div id="fb-root"></div>
由于您的问题很广泛,它在这里粘贴了相当多的代码。如果您对此有任何困难,请告诉我。