我正在 Facebook 上创建一个 iFrame 应用程序,它基本上只是一个邮件列表注册页面。然而,当人们点击注册时,FB:ui“发布到你的墙上”弹出,用户可以选择分享他们刚刚注册的内容,如果他们愿意的话。它工作正常。
但是,我想找到一种仅向登录 Facebook 的用户显示 FB:ui 的方法。我的应用程序不应该需要用户的任何许可,因为它只是一个登陆页面,让人们可以选择分享,如果他们愿意的话。从来没有完成任何自动共享。
我目前正在使用以下代码:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js">
</script>
<script>
FB.init({
appId:'my app id', cookie:true,
status:true, xfbml:true
});
FB.getLoginStatus(function(response) {
if(response.session) {
sharethisnow();
} else {
// no user session available, someone you dont know
if(response.status == "notConnected") {
// But user is logged into facebook
sharethisnow();
} else {
// User is not logged into facebook
}
}
});
function sharethisnow() {
FB.ui({ method: 'feed',
link: 'my link',
name: 'my page name',
caption: 'my caption',
description: 'my decription',
picture: 'my picture',
message: 'my message'});
}
</script>
如您所见,我正在尝试仅对登录 Facebook 和我的应用程序或仅登录 Facebook 的用户运行 FB:ui(sharethisnow 功能)。但由于某种原因,上面的代码仅适用于页面管理员。当我以管理员身份登录时,我注册了 FB:ui,它应该会弹出。但是,当我以非管理员身份(只是一般登录 Facebook 用户)查看该页面时,FB:ui 会弹出但说有错误并“请稍后再试”。
对此的任何帮助都会很棒。