Estoy intentando poner un enlace para compartir de Twitter en un correo electrónico. Como esto está en un correo electrónico, no puedo confiar en JavaScript y tengo que usar el botón "Crea tu propio" Tweet.
Por ejemplo, compartir un enlace a Google:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
Esto funciona bien. El problema que tengo es cuando la URL tiene una cadena de consulta.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
Las URL con cadenas de consulta confunden el servicio de acortamiento de URL de Twitter, t.co. Probé la codificación de URL de varias maneras y no puedo hacer que nada funcione. Lo más cerca que he estado es haciendo esto.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
Aquí he codificado solo la cadena de consulta. Cuando hago esto, t.co acorta correctamente la URL, pero al seguir el enlace abreviado, lo lleva a la URL codificada. Veo http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456
en la barra de direcciones y obtengo el siguiente error en el navegador
Extraviado
La URL solicitada /foo.htm?bar=123&baz=456 no se encontró en este servidor.
No sé cómo resolver este problema.
Editar: Re: onteria_
Intenté codificar la URL completa. Cuando hago eso, no aparece ninguna URL en el Tweet.
fuente
http://
abajoRespuestas:
Esto funcionará para ti
Aquí hay un ejemplo en vivo al respecto
http://twitter.com/share?text=Estoy compartiendo en Twitter & url = https: //stackoverflow.com/users/2943186/youssef-subehi&hashtags=stackoverflow,example,youssefusf
fuente
Esto se puede resolver usando en
https://twitter.com/intent/tweet
lugar dehttp://www.twitter.com/share
. Con laintent/tweet
función, simplemente codifica la URL completa y funciona como un encanto.https://dev.twitter.com/web/intents
fuente
https://twitter.com/intent/tweet?text={text_to_share}
funciona perfectamente en todas las plataformas. He estado buscando por todas partes para esto .. ¡Gracias!Utilice la intención web del tweet, este es el enlace simple:
más variables en https://dev.twitter.com/web/tweet-button/web-intent
fuente
No hay nada más simple que esto:
fuente
Puede utilizar estas funciones:
fuente
var url = ...
) al generar el correo electrónico.Debe cambiar & a% 26 en la cadena de consulta de su URL
Mira esto: https://dev.twitter.com/discussions/8616
fuente
Hago referencia a todos los métodos.
Codificar la consulta dos veces es la solución rápida.
fuente
No es necesario que uses intent, si codificas tu URL, también funcionará con twitter share.
fuente
Como mencionó @onteria_, debe codificar todo el parámetro. Para cualquier otra persona que se enfrente al mismo problema, puede usar el siguiente marcador para generar la URL codificada correctamente. Copie y péguelo en la barra de direcciones de su navegador para crear la URL para compartir de Twitter . Asegúrese de que el
javascript:
prefijo esté allí cuando lo copie en la barra de direcciones, Google Chrome lo elimina al copiar.Fuente en JS Fiddle http://jsfiddle.net/2frkV/
fuente
Si lo agrega de forma manual en el sitio html, simplemente reemplace:
Con
Código html estándar para &
fuente
Twitter ahora te permite enviar la URL a través de un atributo de datos. Esto funciona muy bien para mí:
fuente
Utilice el recurso de intención de Twitter https://dev.twitter.com/web/tweet-button/web-intent
fuente