Facebook, aplicación iframe, fb: problema de solicitud, forma, atributo de acción

votos
6

Estoy haciendo una aplicación de iframe de Facebook

Estoy haciendo un formulario de solicitud con mi propio formulario de datos. ¿Qué debo hacer para procesar los datos?

Si pongo action = http://apps.facebook.com/[appName]/abc.php, es decir,

<fb:serverfbml>
    <script type=text/fbml>
        <fb:fbml>
            <fb:request-form action=http://apps.facebook.com/[appName]/abc.php method=post type=abc content=abc>
                <textarea name=pm fb_protected=true ></textarea>
                <fb:multi-friend-selector showborder=false max=35 actiontext=test email_invite=true bypass=cancel />
            </fb:request-form> 
        </fb:fbml>
    </script>
</fb:serverfbml>

Entonces el resultado es divertido ... ¡Una página de Facebook dentro del iframe de la aplicación de Facebook!

pero si pongo action = http: // [my own domain / facebook connect url] /abc.php, es decir,

<fb:serverfbml>
    <script type=text/fbml>
        <fb:fbml>
            <fb:request-form action=http://[my own domain / facebook connect url]/abc.php method=post type=abc content=abc>
                <textarea name=pm fb_protected=true ></textarea>
                <fb:multi-friend-selector showborder=false max=35 actiontext=test email_invite=true bypass=cancel />
            </fb:request-form> 
        </fb:fbml>
    </script>
</fb:serverfbml>

A continuación, la página de resultados se mostrará sin la plantilla de Facebook (lo que significa que perderán todos los banners de facebook de la parte superior y la barra de facebook de la parte inferior, como los chats de Facebook, etc.)

Alguien sabe lo que está mal?

Muchas gracias por leer

Publicado el 10/06/2009 a las 05:08
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
1

La forma en que manejé esto fue hacer que mi página de procesador de formularios no emitiera ningún resultado excepto un "<fb: redirect>" que apuntaba a la aplicación principal.

Respondida el 10/06/2009 a las 20:23
fuente por usuario

votos
1

¿Cómo usaste esto <fb: redirect>?

ok lo encontré intente agregar target = "_ top"

http://apps.facebook.com/myapp 'label =' Únete ahora '/> "action =" http://apps.facebook.com/myapp "target =" _ top "invite =" true ">

Respondida el 18/08/2009 a las 06:39
fuente por usuario

votos
5

La clave para el target = "_ top" es que usted tiene que colocarlo tanto en el formulario de solicitud y el multi-selector amigo con el fin de que funcione en presentar y cancelar, respectivamente.

La solicitud forma necesita target = "_ top" de manera que la forma se carga en el marco superior cuando se presentó, pero la funcionalidad cancelar es controlado por el multi-selector amigo, no a la solicitud de forma. Ergo, es necesario target = "_ top" en el amigo-multiselector también de modo que la acción de cancelación se cargará en el marco superior.

Ahora, sólo desearía Facebook permitiría una acción de "ninguna" para cancelar eso sería simplemente ocultar el marco ...

Respondida el 25/03/2010 a las 22:10
fuente por usuario

votos
3

NUEVO Respuesta: Facebook ha comenzado la eliminación gradual de FBML y está alentando fuertemente a los desarrolladores para cambiar a solicitudes 2.0. Usando el nuevo FB.ui ({método: 'apprequest', ...}); en el SDK de JavaScript es una manera más fácil de hacer esto. También es compatible fuera de Facebook páginas http://af-design.com/blog/2011/02/17/using-facebook-requests-to-promote-a-website/

Vieja respuesta: me encontré con que pasar el FBML como un atributo para fb: serverfbml trabajó. <fb: serverfbml fbml = "{escape HTML FBML Aquí}"> </ fb: serverfbml> he publicado acerca de mis hallazgos aquí: http://af-design.com/blog/2010/11/23/fbserverfbml-on- lona iframe /

Respondida el 24/11/2010 a las 00:10
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more