2011-10-25 26 views
6

Mi aplicación se encuentra fuera del lienzo de Facebook. El diálogo de solicitud de Facebook 2.0 solo redirige a la url de canvas por ej. apps.ibibo.com/YOURAPP. ¿Cómo puedo hacer que abra una url personalizada? Esto fue posible en el formulario FBML heredado con fb:request-form y configuración req-url.solicitudes de Facebook 2.0, ¿cómo cambiar la URL del botón "Aceptar" para que sea una url fuera de Facebook?

¿Las solicitudes 2.0 están restringidas solo al interior de las URL de Facebook? Mi requisito es enviar solicitudes de juego, pero mi juego se encuentra fuera de Facebook. es decir, al hacer clic en "Aceptar" para abrir la URL debe ser

"http://www.mydomain.com/mygame" y no

"http://apps.facebook.com/mygame".

enter image description here

No parece que estos métodos para adaptarse a mi requerimiento: http://developers.facebook.com/docs/reference/dialogs/requests/ (sólo una dirección URL de la lona)

pensé en una solución como: El usuario hace clic en "Aceptar" y llega a la canvas url, y desde la url del lienzo, lo redirijo a mi url fuera de Facebook. Pero no estoy seguro si eso cumple con la política de Facebook. (mencionado aquí en el punto n. ° 4 del primer párrafo: http://developers.facebook.com/blog/)

+0

favor lea las observaciones en la respuesta a la siguiente pregunta http://stackoverflow.com/questions/7914296/how-do-i -send-a-facebook-request-that-links-to-an-external-site/7914730 –

+0

@Igy en los comentarios, en la pregunta mencionada anteriormente es una fuente creíble, compruebe :) –

Respuesta

2

Lamentablemente, el botón de aceptar ahora siempre lo llevará a la página de la aplicación tal como está viendo y no hay forma ahora de que se vaya a otro lado. Tendría que redirigirlos desde la página de lienzo. Sin embargo, no creo que esto vaya en contra de la política de Facebook, ya que las solicitudes de Facebook se pueden enviar desde fuera de Facebook utilizando el plugin iframe. Si quisiera poder ingresar una URL externa para el botón Aceptar, registraría un feature request con Facebook.

5

Necesita un script jquery para anular la función predeterminada de Facebook. Sin embargo, esto solo funciona cuando la persona va a "http://apps.facebook.com/mygame" y hace clic en "agregar aplicación".

Más simple para simplemente tener una página de bienvenida, los usuarios hacen clic en "PLAY" y se abre una nueva ventana en su página.

Más información: http://developers.facebook.com/blog/post/525/ - buena suerte de codificación!

Ponga <button id="fb-auth">Login</button> en algún lugar de la página MyGame y añade este código javascript:

function updateButton(response) { 
    //Log.info('Updating Button', response); 
    var button = document.getElementById('fb-auth'); 

    if (response.status === 'connected') { 
     //button.innerHTML = 'Logout'; 
     button.onclick = function() { 
     FB.logout(function(response) { 
      //Log.info('FB.logout callback', response); 
     }); 
     }; 
    } else { 
     //button.innerHTML = 'Login'; 
     button.onclick = function() { 
     FB.login(function(response) { 
      //Log.info('FB.login callback', response); 
      if (response.status === 'connected') { 
      //Log.info('User is logged in'); 
      window.open("http://xxxxxxxxxxxxxxxx/some.html"); 
      } else { 
      //Log.info('User is logged out'); 
      } 
     }); 
     }; 
    } 
}; 

// run it once with the current status and also whenever the status changes 
FB.getLoginStatus(updateButton); 
FB.Event.subscribe('auth.statusChange', updateButton); 
Cuestiones relacionadas