Я создаю приложение iFrame на Facebook, которое по сути является просто страницей регистрации в списке рассылки. Однако, когда люди нажимают на кнопку «Зарегистрироваться», появляется сообщение «Опубликовать на стене» FB: ui, в котором пользователь может поделиться тем, на что он только что подписался, если захочет. Работает нормально.
Однако я хочу найти способ отображать FB: ui ТОЛЬКО пользователям, которые вошли в Facebook. Мое приложение не должно требовать каких-либо разрешений от пользователей, поскольку это просто целевая страница, которая дает людям возможность поделиться, если они хотят. Там никогда не делали автоматического обмена.
В настоящее время я использую следующий код:
<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>
Как видите, я пытаюсь запускать FB: ui (функция sharethisnow) только для пользователей, которые либо вошли в Facebook И мое приложение, либо вошли только в Facebook. Но по какой-то причине приведенный выше код работает только для администраторов страниц. Когда я вхожу в систему как администратор, я регистрируюсь, и появляется FB: ui, как и должно быть. Однако, когда я рассматриваю страницу как не-администратор (просто обычный пользователь, вошедший в Facebook), появляется FB: ui, но он говорит, что произошла ошибка и «повторите попытку позже».
Любая помощь с этим была бы фантастической.