【发布时间】:2011-12-05 11:07:29
【问题描述】:
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 已阅读站点上的文章”状态。但是,如果他们再次访问它,它不会被添加
【问题讨论】:
标签: facebook facebook-opengraph facebook-authentication facebook-timeline