http://www.independent.co.uk/和http://www.guardian.co.uk/有一个应用程序,如果你在他们的网站上阅读一篇文章,它会在你的个人资料/时间线中写入“X 有在 Z 上读 Y”。
现在我可以用一个按钮写入时间线。我也可以自动完成(但每次他们访问我不需要的文章时都会发生这种情况)。但是我需要添加的是一些逻辑,如下所示
- 如果用户登录但应用程序未授权
- 显示一个按钮来授权应用程序
- 如果用户第一次登录和应用授权并访问文章
- 自动将“X has read Y on Z”发布到他们的个人资料和FB
- 如果用户登录并且应用授权并再次访问文章
- 不要发布任何东西
这有意义吗?周围有这方面的例子吗?所以基本上按时间线推进不是问题,只是我需要进行的各种检查。
编辑
好的,由于某种原因,这有效(用于检查它们是否被授权)但如果我取出alert('test');
零件,它就不起作用。有任何想法吗?
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=123456789";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
alert('test');
FB.init({
appId:'123456789', cookie:true,
status:true, xfbml:true, oauth:true
});
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
alert('Logged in and connected');
$(read);
} else if (response.status === 'not_authorized') {
alert('Logged into FB but not authorised');
} else {
alert('Not logged into FB');
}
});
</script>
好的,部分工作。有一些小问题,但现在的主要问题是检查他们是否已经在时间线上发布了特定操作。如果他们没有再发布另一个,例如,当他们第一次访问一篇文章时,会添加“Jon 已阅读该站点上的一篇文章”的状态。但是,如果他们再次访问它,它不会被添加