2011-08-25 5 views
17

¿Existe una URL especial para compartir en Facebook y Twitter para dispositivos móviles? ¿O son los mismos que los de los sitios web?Facebook y twitter compartir para la web móvil

Usando

<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script> 
<a href="javascript:return false;" rel="nofollow" onclick="window.open('https://twitter.com/share?text=sometext&url=someurl', 'Twitter', 'toolbar=0,status=0,width=626,height=436')">Twitter</a> 

a Twitter y

<script> 
    function fbs_click() 
    { 
     u='www.something'; 
     t='title'; 
     window.open('http://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436'); 
     return false; 
    } 
</script> 

<a rel="nofollow" href="http://www.facebook.com/sharer/sharer.php?u=someurl" onclick="return fbs_click()" target="_blank" class="">Facebook</a> 

de Facebook.

Respuesta

26

Su implementación de uso compartido debe ser la misma y debería funcionar siempre que sus usuarios de dispositivos móviles tengan dispositivos capaces de procesar JavaScript. De lo contrario, puede usar la url API de cada plataforma para compartir dentro de un enlace, el único problema es que la devolución de llamada los redirige a Twitter o Facebook y tendrán que regresar manualmente a su sitio. Los enlaces son las siguientes:

uso compartido en Facebook:

http://m.facebook.com/sharer.php?u=<urlencoded url>t=<urlencoded title> 

Por ejemplo:

http://m.facebook.com/sharer.php?u=http://www.google.com 

estado de actualización en Twitter:

http://mobile.twitter.com/home?status=<urlencoded status> 
+0

eso se enfríen. ¿Ni siquiera necesito los javascripts para que funcione? – resting

+0

No. De esta manera es mejor, ya que también le da acceso a todos los teléfonos no inteligentes. – Simpleton

+0

¿Qué parámetros son necesarios para "imagen" y "resumen"? – Mateng

11

Un par de notas con respecto a la respuesta de Simpleton .

  1. La URL http://m.facebook.com/sharer.php puede que no sea la que desea. El sitio que proporcione en el parámetro de consulta u necesita tener algunas etiquetas en la página para que la página de compartir sea interesante. Intente poner otra URL allí aparte de Google para ver a qué me refiero. Nunca pude averiguar qué es lo que estaba buscando en la página del sitio para mostrar algo útil en la página de compartir. No vi ninguna forma de proporcionar información adicional sobre el sitio que está compartiendo.

  2. El parámetro de consulta t ya no es leído por facebook en cuanto a que podría decir

  3. me encontré con que el diálogo de alimentación Facebook era una mejor alternativa para compartir (https://developers.facebook.com/docs/reference/dialogs/feed /). Vea el ejemplo en la parte inferior de esa página para la información que puede compartir. Pegue esa URL de ejemplo en su navegador para ver cómo se ve. Puede jugar con los parámetros para ver qué controla cada parámetro en la publicación. Por ejemplo, si no proporciona el parámetro de título, parece que la URL base del parámetro de enlace se utiliza en su lugar. Para utilizar el enfoque del diálogo de alimentación, debe registrar su aplicación en Facebook para obtener un id_aplicación que deberá incluir en la URL del diálogo de alimentación. También asocias tu aplicación con la URL de un sitio web, que también utilizas en la URL del diálogo de feed. Si desea que Facebook le brinde una página optimizada para dispositivos móviles, agregue & display = touch al final de la URL del diálogo de feed. Por último, debe proporcionar el parámetro redirect_uri donde se redirigirá al usuario (con la ID de publicación incluida como un parámetro de consulta), por lo que debe tener algo en esa URL para manejar la respuesta.

  4. Respecto a la URL http://mobile.twitter.com/home?status, aprendí un par de cosas: primero, cualquier URL incluida en el estado no se acortará (fastidio); segundo, si su estado incluye cualquier comilla simple, se codificará como & # 39 (código de entidad HTML) pero no se decodificará cuando publique el tweet. Sin embargo, esto no sucede si está publicando en el escritorio, usando la misma URL.Se puede ver lo que quiero decir al tratar de la siguiente URL de ambos, su iPhone (yo estaba usando Safari en el iPhone) y luego desde el escritorio (que estaba usando Safari):

http://mobile.twitter.com/home?status=Wayne's%20World

Tenga en cuenta, haga un encodeURI javascript en el estado, pero las comillas simples generalmente no son caracteres codificables por la mayoría de los codificadores URL/I. Hay algunos que reemplazarán la comilla simple con un% 27, pero traté de insertarla manualmente y aún no se decodificó en el texto de estado.

Espero que esta información ayude a que alguien venga aquí en busca de simples opciones de uso compartido de Facebook y Twitter.

+0

Siguiendo un enlace de http://m.facebook.com/sharer.php desde el interior del navegador de Facebook, se abrirá el diálogo de compartidor de aplicaciones en lugar de la versión html. Este no parece ser el caso con el SDK. –

3

La url está bien, pero necesita hacer algún trabajo en su servidor para que Facebook realmente lo haga parecer decente. Facebook ahora usa "Open Graph", que le permite agregar etiquetas especiales a su página web que Facebook entiende. Puede definir qué tipos de medios están en la página, incluso agregar sus propios objetos con las definiciones que crea dentro de su aplicación de Facebook. El enlace a la página de objetos Open Graph del desarrollador es .

Una muestra de Open Graph en una página de detalles podría tener este aspecto:

<meta property="fb:app_id"   content="YOUR FACEBOOK_APP_ID }}" /> 
<meta property="og:url"    content="The URL that this page is on" /> 
<meta property="og:site_name"   content="Your domain" /> 
<meta property="og:title"    content="Title of your page" /> 
<meta property="og:type"    content="This is very important - it is how 
    Facebook refers to your post. Image, video, text, etc. Even custom stuff is 
    possible" /> 
<meta property="og:image"    content="image url for facebook to display on 
the user's wall" /> 
<meta property="og:determiner"  content="auto" /> 
<meta property="og:description"  content="A description you want with this 
content" /> 

Y así sucesivamente. Todo esto va en el <head> de la página de la URL real que está suministrando a Facebook. Entonces Facebook traducirá esto en la publicación apropiada. Además, debe configurar el Open Graph en la página de desarrollador de la aplicación para que Facebook sepa buscar las etiquetas og:. Es complicado, pero funciona.

¡Buena suerte!

5

Twitter - Esta es la forma en que resolví el tweet de URL para todos los dispositivos/Navegadores tema:

http://twitter.com/intent/tweet?text= + encodeURIComponent(tweet); 

encodeURIComponent - una construida en función de JavaScript, explicó here.

No se admite el 'http://mobile.twitter.com/home?status=', y obtendrá problemas de codificación cuando Twitter solicite un inicio de sesión.

Facebook - Para compartir en Facebook que utiliza Facebook API example

+0

bueno, este formato es a lo que Twitter redirecciona desde el otro (estoy adivinando obsoleto) Llamadas a API – Larry

+0

Gracias. esto funciona para mi. – Kabkee

Cuestiones relacionadas