#facebook #user-interface #iframe #logged
#Facebook #пользовательский интерфейс #iframe
Вопрос:
Я создаю приложение 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, но говорит, что произошла ошибка и «пожалуйста, повторите попытку позже».
Ответ №1:
У меня все работает нормально, возможно, проверьте настройки страницы (частная / общедоступная). Также попробуйте сначала этот более простой код:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId:'APP_ID', cookie:true,
status:true, xfbml:true
});
FB.getLoginStatus(function(response) {
if(response.status == "unknown") {
return;
}
sharethisnow();
});
function sharethisnow() {
FB.ui({
method: 'feed',
message: 'my message'
});
}
</script>
Комментарии:
1. Простой код также не работает. По-прежнему появляется ошибка при загрузке FB: ui, когда я просматриваю страницу не как администратор. Я проверил настройки своей страницы, и они кажутся нормальными, но, может быть, вы могли бы сказать мне, на какие именно настройки обратить внимание? Я действительно в замешательстве! 🙂
2. @hindutimes: у вас это работает? также каковы ваши настройки миграции на вкладке дополнительно?
3. Да, эта страница работает у меня. Странно… Все мои настройки миграции включены, за исключением безопасности URL-адреса потоковой публикации, которая отключена.