Я пытаюсь использовать тег Facebook fb:friend-selector
FBML, но мое приложение работает в iframe. Можно ли использовать этот тег в iframe? Если у кого-нибудь есть примеры?
Могу ли я использовать Facebook fb: friend-selector в iframe?
Ответ 1
Да, это определенно возможно, но вы должны использовать Facebook Connect и XFBML. В частности, вы хотите использовать тег fb: serverfbml, чтобы получить работу fb: friend-selector. У меня есть приложение iframe, в котором я использую все это и fb: friend-selector в стандартном контексте "Приглашаем друзей в ваше приложение", и он отлично работает.
Вот тело моего файла шаблона, которое выводится внутри тела моего iframe:
<fb:serverfbml style="width: 650px;">
<script type="text/fbml">
<fb:fbml>
<fb:request-form
action="http://example.com/invite/sent"
method="POST"
invite="true"
type="My App"
content="Try out my app!
<fb:req-choice url='http://your-facebook-canvas-url'
label='<?php echo htmlspecialchars("Accept button text",ENT_QUOTES); ?>'
/>
" >
<fb:multi-friend-selector
showborder="false"
actiontext="Invite your friends to try My App."
exclude_ids="<?php echo $excludeIds; ?>"
rows="3"
/>
</fb:request-form>
</fb:fbml>
</script>
</fb:serverfbml>
В нижнем колонтитуле страницы у меня есть стандартный код Facebook Connect, который будет загружать и отображать содержимое fb: serverfbml:
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
<script type="text/javascript">
FB_RequireFeatures(
["CanvasUtil"],
function(){
FB.XdComm.Server.init('/xd_receiver.html');
FB.CanvasClient.startTimerToSizeToContent();
}
);
</script>
<script type="text/javascript">
FB_RequireFeatures(["XFBML"], function(){ FB.Facebook.init("Your Facebook API Key", "/xd_receiver.html"); });
</script>
Это должно быть все, что вам нужно (укажите свои варианты, если это применимо, конечно). Вам нужно будет настроить Facebook Connect для работы с файлом получателя кросс-домена. Я предлагаю выполнить рендеринг шагов XFBML.
Ответ 2
Вопрос в этой теме по-прежнему актуальный, но ответ устарел. Вы должны использовать новый javascript SDK. Это должно заменить второй фрагмент кода, отправленный zombat
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
FB.init({appId: 'your app id',
status: true,
cookie: true,
xfbml: true});
FB.Event.subscribe('auth.sessionChange', function(response) {
if (response.session) {
// A user has logged in, and a new cookie has been saved
} else {
// The user has logged out
}
});
</script>
подробнее здесь: http://www.clickonchris.com/2010/11/facebook-javascript-sdks/
Ответ 3
Так как это много вопросов о селекторе друзей в iframe.
Ребята, правильный sintax теперь <fb:serverfbml width="650px">
Ответ 4
один ГЛАВНЫЙ и ВАЖНЫЙ пункт, который пропустил, заключается в том, что многие из вас (включая меня) вставляются в скрипты где угодно... но файл load.js "FB" должен быть загружен НЕМЕДЛЕННО после тега body.
по крайней мере, это то, что я нашел, чтобы все работало и humm соответственно. Я нашел его на почте на каком-то другом сайте (не был уверен, что я должен опубликовать его здесь или нет...), но он пришел, потратив бесчисленные часы, делая вышеизложенное - а также следуя за каждым другим 1,2, 3 шага, чтобы получить iframe для правильного размера...
и теперь я получил его на работу:)