PDA

Просмотр полной версии : flex, facebook и окна popup


HN4E7O
29.03.2010, 16:44
День добрый.

Делаю игру для facebook... использую IFRAME.
Проблема раз
1. когда пробую залогиться
private function facebookInit():void{
session=new FacebookSessionUtil(API_KEY,SECRET_KEY,loaderInfo);
session.addEventListener(FacebookEvent.CONNECT,onConnect);
fbook=session.facebook;
if(loaderInfo.parameters.fb_sig_session_key){
session.verifySession();
}else session.login();
}
то открываеться новое окно в браузере, и если у усера заблокированы эти дела... то либо вылазит сообщение о новом окне... либо ничего не происходит... в итоге многие бегут со страницы... Как сделать чтобы эта проверка появлялась в типичном фасебуковском окне.

Воппрос два...
2. В принципе это как дополнение к первому, можно ли прям из flash/flex вызвать окно для для INVITE FRIENDS. я пока не могу добиться этого... даже не пойму с какой стороны подойти. Перерыл весь API и весь гугле и ничего не найду...

Буду благодарен за любые наводки...

Добавлено через 1 час 42 минуты
нарыл ответ на первый вопрос !!!! http://www.gibsontang.com/?p=483 может кому нада.. проверил рабоает !!!!

Думаю что это мне врядли поможет со второй частью... так что ежли кто что знает то пжалуйста не забудьте про меня


спасибо

sinya
20.04.2010, 03:48
Спасибо за ссылку, мне нада.
А со второй частью не разобрались? ) Я вот это нашел: http://wiki.developers.facebook.com/index.php/Multi_friend_selector
Или нужно только AS3 ?

HN4E7O
20.04.2010, 12:11
А со второй частью не разобрались? )

разобрался... примерно та же схема что и с одиночным приглашением.

в AS3

private function inviteAll():void{
var titulo:String = XMLLang.facebook.msgAllInviteTexto;
var button:String =XMLLang.facebook.msgAllInviteButton;
var lconn:LocalConnection = new LocalConnection;
lconn.send(LoaderInfo(root.loaderInfo).parameters.fb_local_connection, "callFBJS", "allUserInvite", [titulo,button]);
}

а в index.php >>>

<?php require_once 'config.php'?>
<fb:swf swfsrc="tuSWF.swf" width="750" height="800"></fb:swf>
// Приглашение одного усера
<fb:js-string var="dialogInvite">
<div id="dialog_content">
<div class="dialog_loading">Loading...</div>
</div>
</fb:js-string>

// Приглашение несколькмх усеров
<fb:js-string var="dialogAllInvite" >
<div id="dialog_content2">
<fb:request-form action="javascript:callback();" method="POST" invite="true" type="НАЗВАНИЕ" content="Your text goes here. <?php echo htmlentities("<fb:req-choice url=\"http://apps.facebook.com/URLAPLICATIONS/?i=ID приглашающего&f=$user\" label=\"Authorize My Application\"") ?>" >
<fb:multi-friend-selector showborder="true" max="22" rows="2" cols="2" width="400" bypass="" actiontext="Invite to APP">
</fb:request-form>
</div>
</fb:js-string>

<script type='text/javascript'>
function onRequestComplete(result) {
document.getElementById('dialog_content').setInnerFBML(result);
}

function do_adduser(uid,msg,titulo) {
var ajax = new Ajax();
ajax.responseType = Ajax.FBML;
ajax.ondone = onRequestComplete;

ajax.requireLogin = true;
new Dialog(Dialog.DIALOG_POP).showMessage(titulo, dialogInvite,button_cancel='Cerrar Ventana');
ajax.post(<?php print INVITE;?>'?uid='+uid+'&msg='+msg);

}

// Занести в фавориты
function addBookmark() {
Facebook.showBookmarkDialog(false);
}
//
function allUserInvite(titulo,button) {
var dialog = new Dialog();
dialog.showChoice(titulo, dialogAllInvite, button_confirm = button);
}

</script>